最后
俗话说,好学者临池学书,不过网络时代,对于大多数的我们来说,我倒是觉得学习意识的觉醒很重要,这是开始学习的转折点,比如看到对自己方向发展有用的信息,先收藏一波是一波,比如如果你觉得我这篇文章ok,先点赞收藏一波。这样,等真的沉下心来学习,不至于被找资料分散了心神。慢慢来,先从点赞收藏做起,加油吧!
另外,给大家安排了一波学习面试资料:
以上就是本文的全部内容,希望对大家的面试有所帮助,祝大家早日升职加薪迎娶白富美走上人生巅峰!
在每次创建子类对象时,先初始化父类空间,再创建其子类对象本身。目的在于子类对象中包含了其对应的父类空间,便可以包含其父类的成员,如果父类成员非private修饰,则子类可以随意使用父类成员。代码体现在子类的构造方法调用时,一定先调用父类的构造方法。
public class Person {
private String name;
private int age;
//其他代码省略
}
public class Student extends Person{
private int score;
//其他成员方法省略
}
public class Test{
public static void main(String[] args){
Student stu = new Student();
}
}
super和this的含义
-
super :代表父类的存储空间标识(可以理解为父亲的引用)。
-
通过super找成员变量和成员方法时,直接从父类空间(包含父类的父类继承的)找
-
super()或super(实参列表)只能从直接父类找
-
通过super只能访问父类在子类中可见的(非private,跨包还不能是缺省的)
-
this :代表当前对象的引用。
-
通过this找成员变量和成员方法时,先从当前类中找,没有的会往上找父类的。
-
但是this()或this(实参列表)只会在本类中找
注意:super和this都不能出现在静态方法和静态代码块中,因为super和this都是存在与对象中的
super的用法
1、super.成员变量
在子类对象中访问父类空间的成员变量,即访问从父类继承的在子类中仍然可见的成员变量
(1)子类没有与父类重名的成员变量
public class Test{
public static void main(String[] args){
Son s = new Son();
s.test();
}
}
class Father{
int a = 10;
}
class Son extends Father{
public void test(){
System.out.println(super.a);//10
System.out.println(this.a);//10
System.out.println(a);//10
}
}
(2)子类有与父类重名的成员变量
public class Test{
public static void main(String[] args){
Son s = new Son();
s.test();
}
}
class Father{
int a = 10;
}
class Son extends Father{
int a = 20;
public void test(){
System.out.println(super.a);//10
System.out.println(this.a);//20
System.out.println(a);//20
}
}
(3)方法有局部变量与成员变量重名
public class Test{
public static void main(String[] args){
Son s = new Son();
s.test(30);
}
}
class Father{
int a = 10;
}
class Son extends Father{
int a = 20;
public void test(int a){
System.out.println(super.a);//10
System.out.println(this.a);//20
System.out.println(a);//30
}
}
总结
面试前的“练手”还是很重要的,所以开始面试之前一定要准备好啊,不然也是耽搁面试官和自己的时间。
我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
面试题及解析总结
大厂面试场景
知识点总结
…(img-zXSruKym-1715123853589)]