Java学习1-子类实例化时调用父类构造函数时this指向
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java学习1-子类实例化时调用父类构造函数时this指向,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1521字,纯文字阅读大概需要3分钟。
内容图文
![Java学习1-子类实例化时调用父类构造函数时this指向](/upload/InfoBanner/zyjiaocheng/645/f8f08538e4ea432c9b675aaff98e9349.jpg)
Java学习1-子类实例化时调用父类构造函数时this指向
Java久疏战阵,重新拾起碰到了不少问题,以前的基础知识忘得差不多了,趁着不能出门多学习下。
子类通过new的形式实例化时,会调用父类的构造,那么此时在父类中的this关键字指向的是谁呢?通过实际代码来看看。
父类Animal
public class Animal {
private String name;
private Integer age;
public void print(){
System.out.println("super class");
}
public Animal(String name, Integer age) {
this.name = name;
this.age = age;
this.print();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
子类Cat
public class Cat extends Animal{
private String color;
public void print(){
System.out.println("sub class");
}
public Cat(String name,Integer age,String color) {
super(name,age);
this.color = color;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
测试类MainTest
public class MainTest {
public static void main(String[] args) {
Cat cat = new Cat("aa",12,"red");
}
}
输出结构
sub class
从这个结构可见在父类构造函数中this关键字确实指向了子类的实例。
在父类的构造函数中判断下this的类型
public Animal(String name, Integer age) {
this.name = name;
this.age = age;
this.print();
if(this instanceof Cat){
System.out.println("just is a cat !");
}
}
再次执行
sub class
just is a cat !
确实指向了子类。
更深层次的原理,我要再看看this的用法和存在继承关系的类加载时的关系。
python5915 发布了96 篇原创文章 · 获赞 22 · 访问量 31万+ 私信 关注内容总结
以上是互联网集市为您收集整理的Java学习1-子类实例化时调用父类构造函数时this指向全部内容,希望文章能够帮你解决Java学习1-子类实例化时调用父类构造函数时this指向所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。