从方法调用,到多态,在到使用匿名内部类

public class DemoMain {
public static void main(String[] args) {
//从方法调用,到多态,在到使用匿名内部类
/*
父类MyExtend
public class MyExtend {
void run(){
System.out.println("父类的run方法");
}
}
子类MyExtendSubClass
public class MyExtendSubClass extends MyExtend{
@Override
void run() {
System.out.println("子类的run()方法");
}
}
*/
//实例化子类对象
MyExtendSubClass myExtendSubClass =new MyExtendSubClass();
//使用子类对象,调用子类的run()方法
myExtendSubClass.run();//输出:子类的run()方法

/*将上面改成多态,多态的简单注意:看左看右
个人的思路:都是看左边,如果有复写的就看右边;静态方法就看左
* */
MyExtend myExtend =new MyExtendSubClass();
//使用多态,调用run()方法
myExtend.run();//输出:子类的run()方法

/*
将上述的代码可以使用匿名内部
好处:省略了子类,可以不使用子类,减少了程序的
注意点:只能用于子类对象只使用这第一的一次
步骤:父类 父类对象名 = new 父类(){
@Override
//复写父类的方法,我这里父类的方法是run方法
void run(){
。。。
}
};
* */
MyExtend my= new MyExtend(){
@Override
void run() {
System.out.println("重写了MyExtend的run方法");
}
};
my.run();
//注意:这里的可以同样沿用到接口中,只是把父类和子类,改成了接口和接口的实现类,匿名内部类在后面学习中有大用
}
}

猜你喜欢

转载自www.cnblogs.com/wxgShareBlog/p/13161802.html