1.构造方法的格式:
修饰符 类名(){
方法体
}
2.单例设计模式:
饿汉式:
class Singleton{
private static Singleton s = new Singleton();
private Singleton)(){}
public static Singleton getInstance(){
return s;
}
}
懒汉式
class Singleton1{
private static Singleton1 s;
private Singleton1(){}
public static Singleton1 getInstance(){
if(s == null){
s = new Singelton1();
}
return s;
}
}
3.匿名内部类
本质: 实现了接口或继承了类的子类对象
格式: new 接口/类名(){
//要实现的方法;
};
4.接口
定义接口:interface 接口名
1. 方法都是抽象方法(1.8之前),默认是由public abstract 修饰
2. 只能定义常量,默认是 public static final 修饰的
3. 本身不能创建对象,需要依赖子类向上转型
子类: 实现了接口的类
class 类名 implements 接口1,接口2...{}
4. 接口的子类要么实现接口中所有的抽象方法,要么是一个抽象类
5. 一个类可以实现多个接口,也可以在继承类的同时实现接口
6. 接口中没有构造方法
7. 接口只能继承接口不能实现接口,可以多继承
8. 1.8 以后,接口中可以定义非抽象的方法,但是必须使用static/default 修饰
-
抽象类:
抽象方法: abstract 修饰符 返回值类型 方法名(参数列表);抽象类: 用abstract修饰的类 1. 可以没有抽象方法,有抽象方法的类必须是抽象类 2. 不能创建对象,必须使用子类向上转型 3. 不能被final修饰 4. 抽象类的子类要么实现抽象类中所有的抽象方法,要么自己本身是一个抽象类 5. 抽象类中有构造方法
6.多态:
两个转型
向上: Person p= new Teacher();
向下: Teacher t = (Teacher)p;
三个前提:
有继承关系
父类的引用指向子类的对象
方法的重写
四中调用
静态的成员: 父类的
成员方法:子类的
成员变量: 父类的
子类独有的成员: 不能调用