@[toc]
1 接口 1.1接口定定义接口;就是一种公共的规范标准,在Java中接口更多体现对行为抽象。
1.2接口特点
接口不能实例化
接口如何实例化,参照多态的方式,通过实现类对象实例化,这叫接口多态。多态的形式:抽象类多态,接口多态多态的前提:有继承或者实现关系;有方法重写,有父(类/接口)引用指向(子/实现)类对象
接口的实现类
要么重写接口中的所有抽象方法要么抽象类 1.3接口的成员特点
成员变量
- 只能是常量
- 默认修饰符: public static final构造方法
- 接口没有构造方法,因为接口主要是对行为进行抽象的,是没有具体存在,一个类如果没有父类,默认继承自object()成员方法
- 只能是抽象方法
- 默认修饰符:public abstract
1.4接口案例
最后使用具体的类来实现接口
成员区别抽象类(变量,常量;有构造方法,也有非抽象方法)
- 接口(常量,抽象方法)
- 关系区别类与类(继承,单继承)
- 类与接口(实现,可以单实现,也可以多实现)
- 接口与接口(继承,单继承,多继承)设计理念的区别
- 抽象类(对类抽象,包括属性,行为)
- 接口(对行为抽象,主要行为)
这样的设计都是无法解决的问题的
方法的形参是类名,其实需要的是该类的对象方法的返回值是类名,返回值是该类的对象。 2.1抽象类名作为形参和返回值
方法的形参是抽象类名,其实需要的是该类的子类对象
方法的返回值是抽象类名,返回值是该类的子类对象。
因为是抽象所以要创建一个对象。
内部类的访问特点
内部类可以访问外部类的成员,包括私有外部类,要访问内部类成员,必须要创建对象 3.1.1成员内部类
私有之后的写法
public class Outer {
private int num = 10;
// public class Inner{
// public void show(){
// System.out.println(num);
// }
// }
private class Inner {
public void show() {
System.out.println(num);
}
}
public void method(){
Inner i = new Inner();
i.show();
3内部类
3.1局部内部类
局部内部类是在方法中定义的类,所以外界是无法直接使用的,需要在方法内部创建对象并使用,该类可以直接访问外部类的成员,也可以访问方法内的局部变量。
本质:是一个继承了该类或者实现了该接口的子类匿名对象
public void method() {
new inter(){
@Override
public void show() {
System.out.println("匿名内部类");
}
};//标准格式
对象调用方法
new inter(){
@Override
public void show() {
System.out.println("匿名内部类");
}
}.show();
如果要写多个show方法的时候可以使用创建一个具体的对象。
Inter i = new Inter(){
@Override
public void show() {
System.out.println("匿名内部类");
}
};
i.show();
}
在开发中的具体应用就是不用写那么多的类了



