一、this关键字
1.每个类中的非静态方法都会隐含一个this引用名称,指向调用这个方法的对象(当前对象)
2.当在方法中使用本类的非静态属性时,都会隐含使用this
3.this也可当成一个变量,它的值是当前对象打的引用
this的用法一:指代当前对象(哪个对象调this就指代那个对象)
this的用法二:在构造方法中调用this(...),这是通过传参的方式在一个构造方法中调用另一个带参构造方法,且这句话必须在构造方法中的第一行
二、static关键字
1.在类中,用static声明的成员变量为静态成员变量,它是该类的公用变量,对于该类的所有对象来说,static成员变量只有一份。即static修饰的成员变量是属于类的,不单单属于某个对象,类可以调用,对象也可以调用,可以说是属于所有的对象公有的变量。
2.用static修饰的方法为静态方法,该方法独立于类的实例,也成为类方法,也可认为是所有对象共有的方法
注:1.静态方法中只能直接调用本类中的其他静态成员(静态成员和静态方法),非静态成员间接调用(创建类的实例调用)
2.静态方法不能使用this、super关键字
3.静态成员可以通过类名或类的实例调用
3.关于static静态代码块
在类中可以使用不包含任何方法中的静态代码块,当类被JVM加载时(由java文件加载为class文件时),静态代码块就已经执行了,且只被执行这一次,静态代码块的作用就是用来初始化静态变量
三、访问修饰符
访问修饰符的作用就是java代码封装性的体现,访问修饰符的不同对用户所能访问的属性或方法进行了限制,说白了就是程序员能够控制用户所能看到或者改变的东西,访问修饰符一共四种,如下:
private :只允许本类访问
[default]: 包级别访问权限,该包下的所有类都可以互相访问
protected:对所有子类和同一包中的类可见
public:对所有类都可见
注:[default]、public可用于修饰一个类。
四、继承
继承就是一个类继承另一个类(子类继承父类),子类拥有父类可以被继承的成员(父类对象的成员),包括父类的方法和属性,但私有的方法和属性不能继承,构造方法也不能继承,静态方法和静态变量也不会被继承,因为这是属于类本身的,子类可以访问,子类的static方法和父类的static方法是独立的,不存在任何重写的关系。
继承的好处:实现代码的重用和扩展、模拟现实世界的关系、结构清晰
五、super关键字
1.super可以用于访问父类中的属性和成员方法。
2.super可以用于在子类构造方法中调用父类的构造方法
使用super关键字应注意:
1.在构造方法中super和this不能同时出现
2.super只能应用于成员方法和构造方法中。
六、方法的重写(Override)
当子类继承父类,如果从父类继承的方法不能满足子类的需求时,可以对其进行改写。
重写规则:1.只能存在于子类和父类之间
2.子类的方法名、输入参数、和返回值类型完全一致或子类的返回值类型是父类返回值的子类
3.子类重写父类方法的权限不能比父类更加严格。