20171210:this关键字、static关键字、封装、super关键字、四种访问权限、方法的重写

一、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.子类重写父类方法的权限不能比父类更加严格。



你可能感兴趣的:(日常总结)