Getting null pointer exception, for using POM framework

Here is my code
Store Elements:
import org.openqa.selenium.By;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;

public class footerobjects {

AppiumDriver<MobileElement> driver;


By Home_icon = By.id("com.mrk.b2c.ordofy:id/buyerHomeFragment");
By bestseller_viewAll = By.id("com.mrk.b2c.ordofy:id/tv_best_seller_view_all");

public void Page_object(AppiumDriver<MobileElement> driver)
{
this.driver=driver;
}

public void Click_home_icon()
{
	driver.findElement(Home_icon).click();
}
public void bestseller_viewAll()
{
	driver.findElement(bestseller_viewAll).click();
}

}

MY BASECLASS

import java.awt.AWTException;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.remote.MobileCapabilityType;

public class BaseClass {

	static AppiumDriver<MobileElement> driver;
	

	@BeforeClass
	public void installapp() throws MalformedURLException {
		File f1 = new File("src");
		File f2 = new File(f1,"b2c-app-debug.apk");
		
		DesiredCapabilities cap= new DesiredCapabilities();
		cap.setCapability(MobileCapabilityType.DEVICE_NAME,"emulator-5554");
		cap.setCapability(MobileCapabilityType.APP,f2.getAbsolutePath());
		cap.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android");
		 cap.setCapability("autoGrantPermissions", "true");
		URL url = new URL("http://127.0.0.1:4723/wd/hub");
		driver = new AppiumDriver<MobileElement>(url,cap);
		System.out.println("App installed...");

MY TESTCASE

import org.testng.annotations.Test;
import com.b2c.pageobjects.footerobjects;

public class launch_buyer_view extends BaseClass{

@Test
public void buyer_view() throws InterruptedException
{
	Thread.sleep(10000);
	footerobjects fo = new footerobjects();
	fo.bestseller_viewAll();
}

output

INFO: Detected dialect: W3C
App installed…
FAILED: buyer_view
java.lang.NullPointerException
at com.b2c.pageobjects.footerobjects.bestseller_viewAll(footerobjects.java:27)
at com.b2c.testcases.launch_buyer_view.buyer_view(launch_buyer_view.java:13)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:661)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:869)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1193)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:744)
at org.testng.TestRunner.run(TestRunner.java:602)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:380)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:375)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
at org.testng.SuiteRunner.run(SuiteRunner.java:289)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1301)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1226)
at org.testng.TestNG.runSuites(TestNG.java:1144)
at org.testng.TestNG.run(TestNG.java:1115)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:230)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:76)

Please do help…

not correct! You should pass driver to page.

Which page? @Aleksei

your footerobjects page