首頁 文章 哈哈哈哈

哈哈哈哈

2021-11-24 15:10  瀏覽數:344  來源:启柳    

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.与之对应,包含内部类的类叫做外部类
内部类优势:
内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的
其它类访问该类,更好的实现了信息隐藏



聲明:以上文章均為用戶自行添加,僅供打字交流使用,不代表本站觀點,本站不承擔任何法律責任,特此聲明!如果有侵犯到您的權利,請及時聯系我們刪除。

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