基础语法
6.流程控制
a.分支语句
if-else
switch-case
b.循环语句
while
do-while
for
foreach
c.控制
continue
跳过本次循环,不再执行continue后面的代码,继续下一次迭代
break
跳出当前循环体,继续循环后面的代码
标签
声明在循环体之前,例如 a: for(){},需要配合continue/break关键字来使用
7.面向对象
a. 封装
a1. 私有属性,把成员变量的访问修饰符声明为private
a2. 公开方法对属性赋值和取值,声明getXXX() 和 setXXX()方法
b. 继承
b1. 在java中是单继承关系,但是可以实现多重继承
b2. 子类可以继承父类非私有的属性和方法,不能继承构造方法
b3. 在实例化子类时,先执行父类的构造方法,再执行子类的构造方法
b4. 当父类的方法无法满足子类需要时,子类可以重写父类方法
b5. 在子类中,使用super关键字表示父类对象,可以用在非静态方法中;
super()表示父类构造器,只能用在子类的构造器中,并且是在构造器的第一行;
b6. this代表当前子类对象,可以使用在子类的非静态方法中;
this()表示子类的构造器,只能用在子类的构造器中,并且是在构造器的第一行;
不能和super()同时出现;
b7. 当类使用final关键字修饰时,该类不能被继承
bb. 重写规则
bb1. 重写方法的声明部分(返回值类型、方法名、参数列表)要和父类中的方法保持一致;
bb2. 重写方法的访问权限要大于等于父类的方法;
bb3. 重写方法可以抛出任意的非强制性异常,如果父类方法中抛出了异常,子类中的重写方法抛出异常的范围要小于等于父类
bb4. 当父类的方法使用final关键字修饰时,可以被继承,但不能被重写
bb5. 当父类的方法使用static修饰时,可以被继承,不能被重写,但是可以在子类中重写声明
bb6. (排除final和static关键字的情况下)
如果在同包下,子类可以重写父类的非私有的方法;
不在同包下,子类只能重写父类的public和protected修饰的方法;
bb7. 不能被继承的方法,不能重写,例如:构造方法
c. 多态
继承
方法重写
父类引用指向子类对象(向上转型)
父类引用调用子类重写的方法,指向的是重写方法
d. 抽象类
使用abstract关键字修饰的类,即为抽象类
抽象类中可以声明普通类的所有成员之外,还可以声明抽象方法
含有抽象方法的类一定是抽象类,
抽象类中不一定有抽象方法
抽象类不能被实例化对象,只能被继承,使用多态的方式获取对象
也可以使用匿名内部类的方式创建对象
如果一个类继承了抽象类,必须要重写抽象类中的所有抽象方法
抽象方法中可以声明构造方法
e. 接口
使用interface关键字修饰
接口是可以多继承的
接口可以被类实现,一个类可以实现多个接口
接口是一个完全抽象的抽象类,接口中的方法都是抽象方法(JDK1.7↓)
接口中不能有构造方法
接口中不能声明变量,只能声明常量,默认的声明格式为:
public static final int i = 1;
接口的声明和接口中方法的声明默认都使用了abstract关键字