一、static关键字
static作用于:
1.变量 :
静态变量 与普通非静态成员变量的区别在于静态变量在内存中只存一份,可以作为所有对象的共享变量
2.方法:
静态方法一般用于写工具类,与JavaBean进行区别: javaBean用来创建对象用的 ,工具类中一般只有静态方法,并且通常以Util(s)结尾
3.类:
静态内部类
注意点:
成员方法既可以访问静态变量,也可以访问静态方法。而静态方法只能访问静态的
原因:和jvm类与对象加载顺序有关,静态变量是属于类的 通俗一点来说:静态变量和静态方法是先进行创建的成员方法是后进行创建的。
“后人可以访问前人,但前人不能访问后人”。
二、继承extends
为什么要使用extends关键字
在使用封装的技术时,封装很多类,有些类会产生共性(重复代码),为了解决这个问题
extends概念及其格式:
概念:
通过extends关键字形成父子关系子类拥有父类的属性和方法
格式
子类 extends 父类
例子: public class Dog extends Animal
特点:
1.单继承 2.多层继承
优缺点:
优点: 1.提高复用性 2.便于维护 缺点: 降低了子类的独立性
构造方法的访问:
子类所有的构造方法的访问默认都会先访问父类的无参构造方法通过super关键字指定
变量和方法访问的特点:
遵循就近原则:
变量:局部>子成员>父成员
方法: 子成员>父成员
方法重写
概念:
子类中出现父类方法签名一样的方法
(构成方法的三要素为:返回值,方法名,参数列表
方法签名:method signature :方法名+参数列表)
应用场景:
子类需要有别于父类方法的方法实现
@Override注解
用来检测当前方法似乎是重写的方法起到【校验】的作用
三、权限修饰符
共有:
private default(默认不写) protected public
作用对象:
成员变量、方法
权限大小
public>protected>default>private
重要:
在方法重写的时候子类的权限一定要大于等于父类的,一般权限保持一致
四、final关键字
作用对象:
类、方法、变量
常量的命名规范:
单个单词全部大写 多个单词用下划线分隔分别大写
final的(面试题)作用效果【重要】:
1.修饰类: 该类不能被继承(不能有子类,但是可以有父类)
2.修饰方法: 该方法不能被重写
3.修饰变量: 表明该变量是一个常量,不能再次赋值
3.1变量是基本类型: 数据值不能发生改变
3.2变量是引用类型: 地址值不能发生改变,内容是可以发生改变的
super和this的区别(面试题)
super与this的区别
相同点:
都可以调用构造器,属性,方法
不同点:
this调用本类构造器,忽略修饰符,必须放在构造器的第一行,只能在构造器里面
super调用父类构造器,不能忽略修饰符,必须放在构造器的第一行,只能在构造器里面
super调用父类的公有的属性和方法
this调用本类的属性和方法
Override和Overload的区别
Override用于子类重写父类的方法,改变方法的实现细节与返回值有关;
Overload用于在同一个类中定义多个方法,根据参数类型和数量的不同进行选择执行与返回值无关。