淘先锋技术网

首页 1 2 3 4 5 6 7

Java 中关于在继承里 的this 指向问题

this指向的是对象,而不是类。

一个类可以生成许多对象,比如:

Mammal m1=new Mammal();

Mammal m2=new Mammal();

m1.taisheng(); //m1调用了这个方法,当执行到this时,this指的就是m1

m2.taisheng(); //这里执行到this时,指的是m2

Java继承中this和super的异同

一、指代不同

1、super:是当前对象里面的父对象的引用。

2、this:指的是当前对象的引用。

二、调用函数不同

1、super:调用基类中的某一个构造函数(应该为构造函数中的第一条语句) 。

2、this:调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句)。

三、引用对象不同

1、super:引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名    super.成员函数据名(实参)。

2、this:代表当前对象名(在程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this来指明成员变量名)。

参考资料来源:百度百科-Java关键字super

参考资料来源:百度百科-java关键字

java语言关于继承中this.方法()or this.属性的问题

不管什么样都行,你记住,this.XXX都是从子类里调用的,调用的也都是子类的东西,不会调用父类的东西,如果这时子类没有XXX,那么就会出错。就算在继承里,父类有的,子类没有重新定义的方法,子类也是从父类继承过来的,也就是子类的东西了。要调用父类的东西,使用super.YYYY就没问题了,坚信这样的原则,不会让你越学越乱!

java 继承与this关键字

因为子类继承了父类的fun()方法,所以子类也会有一个fun()方法,

但是无法继承父类的私有方法say()方法,所以就不会重写say()方法

而子类又没有重写父类的fun()方法,所以子类中的fun()方法还是调用的是父类中的say()方法,所以就会输出父类中的内容

希望对你有帮助

关于JAVA继承中this关键字的用法问题

this("未知名",0,"未知系");必须出现在构造方法的第一行,目的是在一个构造方法中调用属于本类的另一个构造方法

this("未知名",0,"未知系");调用的是构造方法public Student_mo(String n,int a,String d){