Java SE基础小知识
封装的作用
-
提高程序的安全性,保护数据
-
隐藏代码都实现细节
-
统一接口
-
增强系统可维护性
一个java文件里可以有多个class 但是只能有一个 public class 类:抽象的 需要实例化 类实例化后会返回一个自己的对象! 例如: student 对象就是一个Student类的具体实例!
java中的继承只有单继承,没有多继承:(接口弥补了这个缺陷)
一个儿子只能有一个爸爸,但一个爸爸可以有多个儿子 学生 is 人:派生类。子类 子类继承父类,就好拥有父类的所有方法 在java中,所以的类都默认直接或间接的继承了Object类
this和super的区别:
super 注意点 1.super调用父类的构造方法必须在子类构造器的第一条 2.super只能出现在子类的方法或者构造方法中 super VS this 代表的对象不同: this:调用本身这个对象 super:代表父类对象的引用 前提: this:没有构造也能使用 super:只能在继承的条件下才可以使用 构造方法: this();子类构造方法 super();父类构造方法
重写:
重写需要有继承关系,子类重写父类的方法
-
方法名必须相同
-
.参数列表必须相同
-
修饰符:范围可以扩大但不能缩小 Public>Protected>Defaul>Private
-
抛出的异常范围可以缩小,但不能扩大 Exception-->ClassNotFoundException
-
重写:子类的方法和父类必须要一致
为什么要重写:
-
父类的功能子类不一定需要,或不一定满足
-
ATL+Inseret:override
静态方法和非静态方法的区别很大 静态方法:方法的调用只和左边定义的数据类型有关 非静态:重写
多态的注意事项:
-
多态是方法的多态,属性没有多态
-
父类和子类,有联系才能转换! 类型转换异常 ClassCastException
-
存在条件:继承关系,方法需要重写,父类引用指向子类对象 Father fi= new Son()
对象类型转换:
-
父类引用指向子类的对象
-
把子类转换为父类,向上转型:无需强制转换
-
把父类转换为子类,向下转型:强制转换,可能丢失方法!
-
方便方法的调用,减少重复的代码!简洁
不能被重写的方法:
-
static:方法属于类,不属于实例
-
final :常量;
-
private:私有
接口的作用:
-
约束
-
定义一些方法,让不同的人实现~
-
接口中定义方法默认的修饰:public abstract
-
接口中定义常量默认的修饰:public static final
-
接口不能被实例化,接口中没有构造方法
-