idea快捷键
alt+Insert(get/set方法创建)
Ctrl+H 最右边类结构
Split+right 分屏显示
Ctrl+Alt+t try/catch
封装
封装的意思就是把属性私有化(private),其他的类不能直接调用属性,需要通过get/set方法
面向对象三大特性:封装,继承,多态
//选中代码 Ctrl+Alt+t
Alt+Insert:override
Ctrl+D 复制当前行到下一行
javac helloWorld.java 生成class文件
java helloWorld 输出值
javadoc -encoding UTF-8 -charset UTF-8 Demo08.java 生成java API 文档
Super注意点:
1.调用父类的方法,必须在构造方法的第一个
2.super必须只能出现在子类的方法或构造方法中
3.super和this不能同时调用构造方法
Vs this:
调用的对象不同
this:本身调用者这个对象
super:代表父类对象的应用
前提
this:无需继承就可以用
super:只能在继承条件下使用
构造方法
this();本类的构造
super();父类的饿构造
重写: 需要有继承关系,子类重写父类的方法!
1.方法名必须相同
2.参数列表必须相同
3.子类修饰符范围可以扩大但不能缩小
4.抛出的异常范围可以被缩小但不能被扩大 ClassNotFoundExpception->Exception
重写:子类和父类的方法必须要一直,方法体不同
为什么要重写:
父类的方法子类不一定需要,或者不一定能满足
Alt+Insert:override
多态的注意事项:
1.多态是方法的多态,属性没有多态
2.必须是有联系的,比如:父类和子类,否则报类型转换异常--ClassCastException
3.存在条件:继承关系,方法重写,父类引用指向子类对象!如:Father f=new Son();
一下几个关键字无法重写,所以无法实现多态
1.static
2.final
3.private
强制转换:
1.父类引用指向子类的对象
2.子类转换父类,向上转型
3.父类转化子类,向下转型–>强制转换,会丢失一些方法
4.方便方法的调用,提高代码利用率,减少重复代码!简洁
static:可以修饰类,方法,属性
1,程序运行时静态代码块最先运行->匿名代码块->构造方法
2,只执行一次
匿名代码块和对象同时产生,在构造方法前,通常用来初赋始值
abstract
抽象类的子类必须实现抽象类的所有方法,除非子类也是一个抽象方法,只能让子子类去继承实现
抽象方法,只有方法,没有方法的实现,
1.不能new抽象类,只能靠子类去实现它。约束!
2.抽象类中可以写普通的方法
3.抽象方法必须在抽象类中
抽象的抽象,约束!
接口;
1.约束
2定义一些方法,让不同的人实现
3.方法的前缀是 public abstract
4.public static final
5.接口不能被实例化,接口中没有构造方法
6.implement可以实现多个接口
7.必须要重写接口中的方法