public class people{
public String pname;
people(String name){
pname=name;
}
}
public class student extend people{
public String pname;
public int stunum;
animal(String name,int num){
super(name);
//people(name);
stunum=num;
//this.stunum=num;
}
} super据说是调用父类的构造函数,那么既然student继承people,不可以在student里直接调用people(String name)构造函数么?
同样在一个类里stunum=num;和this.stunum=num;有什么区别么?
public String pname;
people(String name){
pname=name;
}
}
public class student extend people{
public String pname;
public int stunum;
animal(String name,int num){
super(name);
//people(name);
stunum=num;
//this.stunum=num;
}
} super据说是调用父类的构造函数,那么既然student继承people,不可以在student里直接调用people(String name)构造函数么?
同样在一个类里stunum=num;和this.stunum=num;有什么区别么?
解决方案 »
- java.io.InputStream的read()和read(byte[] b)和read(byte[] b, int off, int len)有什么不同
- &和&&分别是什么意思,一样吗?
- 两个String明明一样为什么输出的却是false啊?
- 如何截取程序的部分?
- 日期格式
- 线程问题
- 关于一个if语句的写法
- 编译问题
- 我即将用Jave实现BS结构应用,所以非常想结似一些Java高手,我以前是学VC和DELPHI的QQ:32243311
- java开发工具的一些问题
- 在SWING中用JMenuItem唤出JLabel,并写日期不成功。(附源代码)我急需。谢谢个位了
- 大家看看这个程序输出什么?
stunum=num;和this.stunum=num;没有区别。
1 默认构造器。 如果父类有可用的无参数构造器,则子类在没有指定的时候,会自动调用父类的构造器
2 指定调用父类的某个构造器,就是suer(name) 的用法
3 指定调用本类的另一个构造器,就是this(name)的用法你说的直接调用people(String name),没有这种语法。二 如果你的类的属性也叫num,传进来的参数也叫num, 那个 num=num 你怎么区分? 所以需要指定是类的num赋值为参数的num
this.num = num;你的那个例子不具备代表性,所以不写this也不会有问题。但依然推荐写上。
只能在 子类的构造方法中
且必须是第一句但是 可以通过 名字随处 调用
2、使用this关键字更符合面向对象的思想,声明了是本类的实例的属性赋值为:××以上是一些愚见,捡有用的看,始终批判着看 :)
2.this.x调用的一定是类当前对象的成员变量 而不加this表示当前作用域内的变量
引用隐式参数,也就是被构造的对象(除私有方法外,先找子类方法后找父类中的方法)。
调用该类其他的构造器。
super关键字的两个用途:
调用超类的方法(除私有的方法外,直接调用父类中的方法)
调用超类的构造器。
this,super关键字相同处:
调用构造器的语句只能作为另一个构造器的第一条出现。
不能在静态方法中使用this和super。super的另外一种用法(内部类):enclosingClassReference.super();俺的总结!