第三周笔记

day15
接口:
有时我们需要从多个不相关的类中,设计出一个子类型,而java继承是单继承
的特点,无法满足我们的需求,所以我们可以使用接口来达到多继承的目的。
接口实际上就是一种规范制度(规范与规则的理解)
特点:
1.接口使用interface关键字,而不是class,
但是我们可以理解成接口是特殊的抽象类
2.接口里只能有抽象方法和常量
3.接口不能实例化,没有任何意义
4.接口不能提供构造方法
接口中的常量:
默认使用修饰词为public static final
接口中的方法
默认使用public abstract
类型必须符合一个规范才可以比较
comparable
接口的实现
1.子类需要实现接口中的所有抽象方法,
2.使用implements关键字进行实现
3.如果子类没有实现所有抽象类方法,那么子类需要使用abstract
4.子类可以实现多个接口,接口间使用逗号分开
接口间的继承
1.接口与接口之间可以使用继承。
2.子接口继承了父接口的抽象方法
3.支持多继承
定义接口A
添加常量 PI
添加方法 delete()删除
添加方法 sum(int a,int b),计算
多态:面向对象的特征之一
向上造型:父类型的变量引用子类型的对象
将父类型(接口)的变量赋值给子类型的变量或者是其他父类型
向下造型:当向上造型不能满足需求时通过改变前面或者后面来进行向下造型
(接口)的变量
1.父类型的变量指向不同的子类型对象,调用的功能有不同的实现
Animal a= new Dog();
Animal a= new Cat();
a.noise();
2.不同的父类型变量指向同一个对象有不同的功能
InterA a=new ZhengYangDoor();
a.theftproof();//防盗
a.openDoor();//开门
Inter ia=a;
ia.theftproof();
Door door=a;
door.openDoor();
door.closeDoor();
day16
内部类:
是定义在一个类的内部的新类型。即内部类。另外一个类称之为外部类
根据位置不同
可以有成员内部类
方法内部类(局部内部类)
带static修饰词的类,静态内部类。
没有名称的类:匿名内部类
最不常用的:方法内部类,静态内部类
方法内部类定义在方法中,相当于局部变量,仅限于在方法中使用。
定义时不能使用修饰词可以直接访问外部类的非静态成员变量
静态内部类:也是以类的成员来定义的只不过多了一个修饰词static
可以直接访问外部类的静态成员
相对而言成员内部类和匿名内部类比较常用。
成员内部类:以类的成员来定义,可以使用任何修饰词来修饰
内部类的使用
创建对象:
要先创建一个外部类的对象outer
然后使用外部类对象去使用new调用内部类的构造器实例化
Inner inner =outer.new Inner(有参传参);
外部类访问内部类的成员
在外部类添加一个内部类的成员变量进行访问
匿名内部类:
没有名字的类型,写在外部类的方法中,只用一次,不需要定义类的结构
通常都是为了实现接口,抽象类或某一现有的类的子类
使用匿名内部类的方式创建接口
InterX的对象
接口中有两个抽象方法
(1)计算a和b的和
(2)计算a与b的乘积

猜你喜欢

转载自blog.csdn.net/qq_42825206/article/details/81556771