Home Article Practice 哈哈哈哈

哈哈哈哈

2021-11-24 15:10  views:349  source:启柳    

1. 接口
1.接口定义了某一批类需要遵守的规范
2.接口不关心这些类的内部数据,也不关心这些类里的方法的实现细节,
它只规定这些类里必须提供某些方法
3.接口默认访问修饰符是 public
4. 接口中抽象方法可以不写 abstract 关键字
5. 接口中抽象方法的默认访问修饰符是 public
6. 当类实现接口时,需要去实现接口中所有的抽象方法,否则需要将该类设置为抽象类
7. 接口中定义的方法默认是 public abstract修饰的
8. 接口中定义的属性默认是: public static final 修饰的
9. 接口中常量必须在定义是进行初始化操作,赋值
2. 接口默认方法(jdk1.8后新增): default void connection(){可以有方法体}
可以在实现类中重写,并可以通过接口的引用调用: 接口名.super.方法名()
3. 接口静态方法(jdk1.8后新增): static void stop(){可以有方法体}
接口静态方法: 因为是静态的,所以调用的时候使用 接口名.接口静态方法名()
4. 调用接口中默认的方法: 接口名.super.方法名()
5. 接口中的静态方法,不能被实现类重写,可以通过接口名调用
6. 在实现类中如果要实现的多个接口之间存在同名的默认方法,实现类会报错,不知道要
实现,重写哪一个接口中的方法,解决方案就是:在当前的实现类中,重写一下同名的默认方法()
7. 如果一个类继承一个父类,并且实现了多个父接口,当继承的父类和实现的多个父接口之间
存在有相同的方法,那么系统会默认调用父类的同名方法(),如果想调用当前实现类中的
与上面同名的方法(),可以重写一下这个方法()
8. 接口与接口之间可以实现继承,并且可以继承多个父接口
9. 当接口继承自多个父接口,且父接口之间存在相同的默认方法,
那么在继承的类中,需要重写一下父接口之间重名的默认方法
public interface ISon extends IFather , Ifather2{}
2. 内部类:
1.在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类成为内部类
与之对应,包含内部类的类被称为外部类
2. 为什么要将一个类定义在另一个类里面呢?
内部类隐藏在外部类之内,更好的实现了信息隐藏
3. 内部类的分类: 成员内部类 静态内部类 方法内部类 匿名内部类
3. 成员内部类
1. 内部类中最常见的就是成员内部类,也称为普通内部类
2.* 1.内部类在外部使用时,无法直接实例化,需要借由外部类信息才能完成实例化
* 2.内部类的访问修饰符,可以任意,但是访问修饰符会受到影响
* 3.内部类可以直接访问外部类的成员:如果出现同名属性,优先访问内部类中定义的
* 4.在内部类中如果想访问外部类中的属性:
外部类类名.this.属性名的方法访问外部类中与内部类同名的属性信息
* 5.外部类访问内部类属性信息,需要通过内部类实例,否则无法直接访问
* 6.内部类编译后.class 文件命名: 外部类&内部类.class
* 7.内部类中可以包含与外部类相同方法签名的方法:
* 在内部类中如果只写一个方法名的话eat(),默认调用的就是内部类的 eat()方法
* 如果想调用外部类的 eat()方法,需要在内部类中使用: 外部类类名.this.eat();
才可以调用
4. 静态内部类:
1. 截图
总结:
接口:
1.接口定于了某一批类所需要遵守的规范
2.接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,
它只规定这些类里必须提供某些方法
3.语法:[修饰符] interface 接口名[extends 父接口 1,父接口 2....]
{
零个到多个常量定义
零个到多个抽象方法的定义
零个到多个默认方法的定义..(JDK1.8 新增)
零个到多个静态方法的定义..(JDK1.8 新增)
}
4.注意:
接口可以实现多继承,即一个子接口可以同时继承多个父接口
实现接口的类如果不能实现所有接口中待重写的方法,则必须设置为抽象类
一个可以继承自一个父类,同时实现多个接口
内部类:
1.在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,叫做内部类
2.与之对应,包含内部类的类叫做外部类
内部类优势:
内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的
其它类访问该类,更好的实现了信息隐藏



Disclaimer: The above articles are added by users themselves and are only for typing and communication purposes. They do not represent the views of this website, and this website does not assume any legal responsibility. This statement is hereby made! If there is any infringement of your rights, please contact us promptly to delete it.

字符:    改为:
去打字就可以设置个性皮肤啦!(O ^ ~ ^ O)