class BaseClass
{
public int book=6;
public void base()
{
System.out.println("父类的普通方法");
}
public void test()
{
System.out.println("父类的被覆盖的方法");
}
}
public class SubClass extends BaseClass
{
public String book="轻量型J2EE企业级应用实战"; //重新定义了一个BOOK实例属性覆盖父类的BOOK实例属性
public void test()
{
System.out.println("子类覆盖父类的方法");
}
public void sub()
{
System.out.println("子类特有的方法");
}
public static void main(String[ ] args)
{
BaseClass bc=new BaseClass();
System.out.println(bc.book); //输出6
bc.base(); //两次调用父类的方法
bc.test();
SubClass sc=new SubClass();
System.out.println(sc.book);// 输出轻量型J2EE企业级应用实战
sc.base(); //子类调用父类的方法,子类继承了父类的方法
sc.test(); //执行子类自己的test方法
BaseClass ploymophicBc=new SubClass(); //多态发生
System.out.println(ploymophicBc.book); // 输出的是6表明访问的是父类属性
ploymophicBc.base(); // 输出的是子类中的方法
ploymophicBc.test();
//ploymophicBc.sub 如果这样的话会导致编译失败 父类的引用指向子类,父类中没有sub方法
}
}
【java笔记】java多态性的例子
最新推荐文章于 2022-05-11 08:43:53 发布