11、
内部类:
12、
多态 向上向下转型
//向上转型:限定功能使用,提高扩展性 Animal a = new cat();//自动类型提升 abstract class Animal{ abstract void eat(); } class Cat extends Animal{ public void eat(){ System.out.println("猫吃鱼"); } public void catchMouse(){ System.out.println("猫抓老鼠"); } } //一旦完成了这个自动转型,就不能访问特有的行为 //上边的 对象 a 就不能访问cat 类里边没有从Animal里边继承来的catchMouse方法 //向下转型:这样是为了调用特有的方法。 Cat c = (Cat)a; // 总的来说: //如果子类继承父类后,没有对方法进行覆盖,那么自动转型后是可以使用父类中的方法。 //如果子类方法将父类方法覆盖了,那么调用的就是子类中地方法。 //但是,如果父类本来就没有这个方法。转型后,硬要调用这个方法,编译失败。 abstract class Animal{ abstract void eat(); void sleep(){ System.out.println("Sleep"); } } class Cat extends Animal{ public void eat(){ System.out.println("eat fish"); } public void catchMouse(){ System.out.println("catchmouse"); } } public class Test{ public static void main(String []args){ Animal a = new Cat(); a.sleep(); //a.catchMouse();直接编译失败 } }
13、
重写overwrite与重载overload:
14、
数组的声明与初始化:
15、
?
16、
17、
String类 + StringBuilder类:
18、
file类:
19、
没有强制类型转换
20、
正则
转载于:https://blog.51cto.com/eread/1328876