构造方法
1.用来初始化类的成员属性,通过new调用
2.系统会默认生成一个无参的构造方法,但是只要自己创建任意的构造方法,系统就不会默认生成
3.第一行默认调用父类的构造方法super(),但是只要自己调用子类或者父类的其他构造方法this()或者super(),系统就不会默认调用
4.方法名与类名相同,而且无返回值
this关键字
1.用来区分成员变量和局部变量
2.this.成员属性、this.成员方法、this()
重载
方法名相同,参数不同(参数类型不同、参数长度不同、参数顺序不同),跟访问权限和返回值没有关系
final 关键字
1.final修饰的变量名要全部大写
2.final修饰基本数据类型,值不允许改变;final修饰引用数据类型,地址不允许改变
3.final修饰的方法不允许被子类重写,但是可以被子类继承
4.final修饰的类不允许被继承
5.final不可以修饰构造方法
static关键字
1.只能修饰成员属性和成员方法
2.一般只有工具类的方法 和 常量(99%要和final一起写)做成静态,其他情况最好不要做成静态,因为静态在内存中会一直占用资源
3.静态是属于类的,在类的加载时就存在了,不属于对象,也就没有this,所以不能访问其他非静态的成员属性和成员方法
UML
UML是统一建模语言,要求会看图写代码,大公司用的比较多,小公司一般采用敏捷开发,用得会比较少
代码块
静态代码块
在类加载的时候只执行一次,以后就不再执行了
构造代码块
在对象初始化的时候只执行一次,以后就不再执行了
面试题:顺序
变量→静态代码块→构造代码块→构造方法
设计模式6大原则
1.里氏替换:子类不要去重写父类的实现方法,去重写父类的抽象方法
2.单一原则:一个类只做一个功能,一个方法只做一件事
3.开闭原则:不要去修改一个类,而是去继承它,再去扩展
4.迪米特法则:不要在局部创建对象
5.接口隔离:不要实现的时候出现无用的接口中的抽象方法
6.依赖倒置原则:不要去依赖具体类,而是依赖接口