the fifth day 002 interfice 接口 抽象类
abstract
抽象类
public abstract class Abstract1 {
//抽象方法
public abstract void doit();
public abstract void dosome();//抽象方法存在,抽象类不能被new ,
public void dome(){
System.out.println("抽象类中可以有普通方法");
}
}
接口interfice
- 约束和实现分离
- 只有规范,只能被别的类实现
- OO的精髓是对对象的抽象,接口就是这样,设计模式就是如何合理的去抽象
- 接口中没有构造方法
public interface Demo05 {//接口中没有构造方法,他不是一个类不存在构造
int AGE = 66;
public static final int AA = 88;//接口中定义属性默认是常量一般不这样做
//接口 默认类型是public 且是抽象的 abstract
public abstract void add();
void del();
}
public class Demo05Impl implements Demo05, Demo051 {//实现接口必须实现接口内方法,方法重写.接口可以实现多个
@Override
public void add() {
}
@Override
public void del() {
}
}
内部类
- 成员
- 静态
- 局部
- 匿名
public static void main(String[] args) {
//内部类需要用外部类new
Other ot = new Other();//外部类
Other.Inner in = ot.new Inner();//内部类
ot.out();
in.in();
in.getId();
Other oot = new Other();//将对象赋值给oot,有名字引用
new Other().out();//无变量命名直接用对象 称之为匿名内部类
}
public class Other {
//一个java 类中可以有多个class 但是只能有一个Public class
private int id;
public void out(){
System.out.println("this is 外部类");
}
public class Inner{
//成员内部类
public void in(){
System.out.println("this is INNER内部类");
}
public void getId(){
System.out.println(id);
}
}
public void part(){
class partCl{//局部内部类只在这个方法中用到
}
}
}