1.抽象类:封装此类中重复的内容
封装的思想,类似与c++中的模版 ,提取相同的地方,类似于公共的方法,时间久了就会在设计开始的时候考虑可以公用的,最终都是设计的思想,在深一点就是懒人思想,在深一点就是哲学,万物归宗。
2.多态
两种生活中的现象
a.同样的类型指向不同的实例,可以实现不同的方法 (下行)
汽车 下的 卡车可以装货 ,客车可以载人
b.同样的对象,造成不同类型是,会有不同的功能(上行)
冰箱卡车可以拉冷冻食物,集装箱卡车可拉煤
3.内部类
内部类定义在内部类,一般只服务于内部类,内部类一般可以直接调用外部类的成员和方法
创建内部类对象
一般情况下,Inner对象会在Outer对象中创建(构造方法或其他方法);Inner对象中会有一个隐式的引用指向创建它的Outer类对象。看如下代码所示:
class Outer{
private int time;private Inner inner;
public void printTime(){
System.out.println(time);}
class Inner{
public void timelnc(){
time++;
}
}
Outer(int time){
this.time = time;
inner = new Inner();
inner.timelnc;
}
}
在main方法中,声明如下代码:
1.Outer outer= newOuter(100);
2.outer.printTime();
上面代码的输出结果为:101。在Outer构造方法中创建的Inner对象会有一个隐式的引用指向创建它的Outer对象,调用Inner对象的timeInc方法,即会对Outer的time属性进行操作。
网友评论