关于Java的常用语法以及类型(二)
2017-12-27 14:23
260 查看
基础语法
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关键字
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关键字
相关文章推荐
- 常用的mimeType,以及java获取mime类型
- mybatis常用jdbcType数据类型以及对应的JavaType
- JAVA 基础语法(一)——变量以及基本数据类型
- java.lang.Comparable, java.util.Compartor区别以及Hadoop中关于自定义类型中的compare方法
- mybatis常用jdbcType数据类型以及对应的JavaType
- JAVA 基础语法(二)——基本数据类型转换以及运算符
- Java基本语法--数据类型、运算符表达式、基本控制语句、数组使用以及练习
- 学习总结 Java 基本数据类型 和标识符以及常用的关键字
- 关于java的基础--基本数据类型以及循环
- mybatis常用jdbcType数据类型以及对应的JavaType
- 关于Java向上转型和向下转型以及类型还原
- oracle常用数据类型及关于表的基本语法格式
- 关于java浮点型的数据输出格式以及默认的基本数据类型转换
- 关于java基础--基本数据类型封装以及String类方法讲解
- Java中的StringBuffer和数组Arrays以及常用类型的包装类
- 关于JAVA中变量类型转换以及精度问题
- 关于java基础类型与引用类型内存存储问题,以及string.intern()方法(String两种创建方式的区别)
- Mysql常用字段类型以及对应JAVA中的数据类型
- JAVA关于date类型和string类型的转换以及获取date类型和Calenderle中年月日的方式
- java 与mysql对应类型以及MySQl基本语法