达州大亚网站建设,做外贸用什么服务网站,百色建设局网站,内容网站各位小伙伴们大家好#xff0c;欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏#xff0c;在这个系列专栏中我将记录浅学这本书所得收获#xff0c;鉴于 看到就是学到、学到就是赚到 精神#xff0c;这波简直就是血赚 #x1f4a1;涉及的知识点速通#x1f6eb; abs… 各位小伙伴们大家好欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏在这个系列专栏中我将记录浅学这本书所得收获鉴于 看到就是学到、学到就是赚到 精神这波简直就是血赚 涉及的知识点速通 abstract抽象 抽象类 抽象方法 interface接口 接口的结构 接口的实现和方法引用 为什么使用接口 abstract抽象 抽象类 一旦一个类使用abstract修饰之后就代表他是一个抽象类抽象类的显著特征就是抽象类无法实例化。有的小伙伴可能就会问了既然抽象类已经无法实例化对象了那么它是不是已经没有构造器了不抽象类依然有构造器构造器的作用就是供子类继承的时候进行调用。 抽象方法 方法声明 使用abstract修饰的方法只能有方法的声明不能有方法体和大括号   抽象的类与方法之间的关系 包含抽象方法的类一定是一个抽象类但是抽象类中不一定包含抽象方法。而且继承了抽象类的子类必须重写该类中所有的抽象方法(如果超类的超类中也有抽象方法此时子类也必须重写超类的超类的抽象方法)否则子类也要使用abstract修饰成抽象类这样的话子类也就无法实例化  abstract关键字不能使用的地方 关键字只能用来修饰类和方法无法修饰属性、构造器、代码块等结构。方法的声明中abstract关键字无法与private修饰符、static关键字、final关键字一起使用因为私有、静态、final方法无法被子类重写但是抽象方法必须被子类重写产生冲突。类的声明中abstract关键字无法与final关键字一同使用final类无法被继承那么它内部的抽象方法也就无法被重写发生冲突 interface接口 接口的存在类似于抽象类将一些类的共同行为特征作为抽象方法抽取出来但是他又和抽象类有着本质的不同接口根本就不是一个类。接下来我们就使用抽象类来类比学习接口的特性   接口源文件 接口虽然不是一个类但是接口在很多方面和类十分相似比如接口的源文件接口的源文件也是一个.java文件可以通过javac命令进行编译生成.class字节码文件。一个.java源文件中只能有一个使用public修饰的类或者接口这个源文件是以public修饰的接口或者类命名的 接口的结构 JDK 7以及之前,接口中只能定义公共静态常量和公共抽象方法JDK 8之后接口中还可以定义公共静态方法和公共默认方法所以说接口中的公共静态常量在声明的时候可以省略public static final接口中的方法声明可以省略public 静态、默认方法 接口中的静态方法无法通过接口实现类的对象调用只能使用接口直接调用但是接口中的默认方法可以通过接口实现类的对象调用而且抽象超类中的静态方法也可以使用子类对象调用。子类无法重写覆盖超类或者接口中的静态方法但是可以重写覆盖接口中的默认方法  接口构造器 接口中绝对不能出现构造器这也就意味着接口无法实例化创建对象虽然抽象类也无法实例化创建对象但是抽象类中有构造器(供子类调用) 接口的实现和方法引用 接口的实现 接口无法实现接口但是可以继承接口或者类类使用implements关键字实现接口一个类可以实现多个接口使用逗号隔开。接口中定义了抽象方法实现接口的类必须重写这个接口中的所有抽象方法(包括通过extends继承来的抽象方法)否则这个类就必须定义成抽象类就近引用、类优先、接口冲突原则   ① 如果一个类的超类和超类的超类中定义了一个同名变量或者方法的话由于就近原则这个类中引用的就是超类的变量或者方法如果子类中也有的话就近调用子类的  ②类和接口是一个同一级的概念如果一个类的超类和它实现的接口中定义一个同名变量这就会导致这个类中变量的引用不明确而报错但是如果是方法的话就默认类优先原则调用超类中的方法  ③还有一种就是一个类实现多个接口中有同名变量或方法由于接口冲突此时引用这个变量或者方法就会报错需要重写该方法或者重定义该变量 总结来说同名情况下多重继承变量方法都就近一接口一超类变量报错、方法类优先多实现接口冲突 为什么使用接口 可能有的小伙伴要问了既然抽象类跟接口都可以定义抽象方法它们的子类或者实现类也都必须实现这个抽象方法那么为什么不直接使用抽象类而是大费周折的再引入接口的概念呢抽象类毕竟是个类类的话就只能继承一个抽象超类但是一个类可以实现无数多个接口也就是说接口弥补了Java语言只能单继承的局限性。   接口的使用很广泛比如想要实现序列化就要实现Serializable 接口想要自定义对象的排序规则就要实现Comparable接口重写CompareTo方法……