需要掌握的知识点:
import java.util.Scanner; public class PackageTest { public static void main(String[] args) { Scanner sc = new Scanner(System.in); sc.nextInt(); } }
当没有任何显示的继承类时,默认继承 java.lang
包下的Object类
//object源码中一些比较常用的方法 public boolean equals(Object obj) { //引用比较 return (this == obj); } //返回类名加hashcode public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } public final native Class<?> getClass(); //返回类名
访问修饰符 | 同类 | 同包 | 子类 | 其他 |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | |
默认 | √ | √ | ||
private | √ |
其中protected含义是保护继承的子类,这样在不同的包中就可以让子类访问了。
访问父类构造方法
super(); super(name);
访问父类属性
super.age; super.name;
访问父类方法
super.print();
总结一下super和this 的区别
---- | ---- | ---- | ---- |
---|---|---|---|
this访问本类构造方法 必须第一行 | 本类属性 | 本类方法 | this可以引用当前对象 |
super访问父类构造方法 必须第一行 | 父类属性 | 父类方法 | super只能出现在子类中 |
final修饰类表示该类不能被继承
比如String类就是这种情况
final修饰变量
final修饰方法表示该方法不能被子类重写