一,this关键字
1.使用this关键字调用本类中的属性
2.使用this关键字调用成员方法
3.使用this关键字调用本类的构造方法
使用this关键字调用成员方法
class Student{
public void openMouth(){
...
}
public void read(){
this.openMouth();
}
}
在上面的read()方法中,使用this关键字调用openMouth()方法。此处的this关键字也可以省略不写。
二.static关键字
static修饰代码块:在类加载时就加载静态代码块,因为类只加载一次,所以静态代码块也只加载一次,并且是在创建对象之前加载
三,类的继承
在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称为父类,子类继承父类的属性和方法,使得子类对象(实例)具有父类的特征和行为。
子类需要使用extends关键字实现对父类的继承
类的继承需要注意:
在java中,类只支持单继承,不允许多重继承。
多个类可以继承一个父类
在java中,多层继承也是可以的,即一个父类可以再继承另外的父类
在java中,子类和父类是一种相对继承,一个类可以是某个类的父类,也可以是另一个类的子类
在继承中,子类不能直接访问父类中的私有成员,子类可以调用父类的非私有方法,但是不能调用父类的私有成员
四,super关键字
使用super关键字访问父类的成员变量和成员方法
使用super关键字访问父类中指定的构造方法
注意:
通过super()调用父类构造方法的代码必须位于子类构造方法的第一行,并且只能出现一次
this和super两者不可以同时出现,因为this和super在调用构造方法时都要要求必须放在构造方法的首行。
this和super的区别:
五,final关键字
1.使用final修饰的类不能有子类
2.使用final修饰的方法不能被子类重写
3.使用final修饰的变量(成员变量和局部变量)是常量,常量不可修改
六,抽象类和接口
抽象方法的定义格式:
abstract 返回值类型 方法名称 (参数);
当一个类包含了抽象方法,该类必须是抽象类。抽象方法和抽象类必须使用abstract关键字修饰
抽象类的定义格式:
abstract class 抽象类名称{
属性;
访问权限 返回值类型 方法名称(参数){ //普通方法
return(返回值);
}
访问权限abstract 返回值类型 抽象方法名称(参数); //抽象方法,无方法体
}
抽象类的定义规则:
包含抽象方法的类必须是抽象类
抽象类和抽象方法都要使用abstract关键字声明
抽象方法只需声明而不需要实现
如果一个类继承了抽象类,那么该子类必须实现抽象类中的全部抽象方法
##使用abstract修饰的方法不能使用private##
接口使用interface关键字声明
七,多态
在java中,多态是指不同对象在调用同一个方法时表现出的多种不同行为
java多态有方法的重载,对象的多态性(方法重写)两种形式
对象类型的转换:
向上:子类到父类 向下:父类到子类
八,object类
object类是所有类的父类
内部类的具体语法格式:
外部类名.内部类名 变量名=new 外部类名().new 内部类名();
静态内部类的具体语法格式:
外部类名.静态内部类 变量名-new 外部类名().静态内部类名();
匿名内部类的语法格式
new 父接口(){
// 匿名内部类实现部分
}
九,异常
异常的父类:Throwable
Throwable有两个直接子类Error与Exception
Error代表程序中产生的错误 Exception代表程序中产生的异常
常见的异常有:
NullPointerException - 空指针引用异常
ClassCastException - 类型强制转换异常。
IllegalArgumentException - 传递非法参数异常。
ArithmeticException - 算术运算异常
ClassNotFoundException -文件未找到异常
IndexOutOfBoundsException - 下标越界异常
NumberFormatException - 数字格式异常
SQLException-SQL语句异常
IOException-IO异常