java中重写一类的构造方法并在构造方法内调用本类普通方法
发布网友
发布时间:2022-04-30 16:22
我来回答
共5个回答
热心网友
时间:2022-06-27 08:57
首先需要明确类和对象的关系,对象是根据类作为的模板创建出来的。如下面这句
Student s = new Student(); Student是类,s就是对象。this表示每次使用类创建对象时的那个对象,在这里就是s。成员变量、成员方法和this、super这类关键字八竿子打不着,你老师很会忽悠。至于创建一个类,主要2种方式,我们创建的Java文件就是在创建一个未编译的类,编译后的后缀是class;另一种就是动态拼接字符串,然后使用底层API加载到虚拟机,这个一般很少使用,除非是专业底层开发者。
热心网友
时间:2022-06-27 08:57
你可以这样理解,类是一种声明,它说明了这一类事物的特点,而真正的对象才是做事的实体,这里把this传进去只是声明了一个test1方法,它里边new了一个Class的构造函数需要一个参数,参数就是这个类真正的变量。只有别人new了这个Student类而构造出对象后,再调用test1方法,自然而然的就把当前这个对象传给了new出来的Class类。
热心网友
时间:2022-06-27 08:58
this明显是当前对象或者对象引用更恰当一点
这个你可个测试类是可以知道了,
当student中成员变量不同时,test1(this)或者new Class(this)的输出会有不同。。
关于类与对象关系:
类:是对事物的静态的表示
对象:是对事物的动态的表示
按照你的这个意思:
new Class(this) 的构造方法应该是 new Class(Student student),你说这里穿进去的参数是对象还是类,此处的student肯定是一个对象引用,引用最终指向的还是student对象
——————————————————
个人见解仅供参考
热心网友
时间:2022-06-27 08:58
new Class的意思是创建一个新的class。怎么会没有创建呢。。。。
只不过没有给这个新的对象一个名字而已。就像一个人没有名字但是他还是存在的,不晓得能不能理解
热心网友
时间:2022-06-27 08:59
指student这个类,new Class()是个构造器,this指代当前Student类
Java中,在构造方法里调用本类中的方法是不是可以省略this?
可以 Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final使用总结”一文中给出了明确解释。并且t...
构造方法可以调用本类的其他方法吗
1,构造方法可以调用本类的其他方法。既然可以调用本类的属性,那么也就可以调用属于本类的其他方法。2,需要注意的是,如果要在构造方法里调用一个非静态方法时,应该将该方法声明为private。因为如果这个类被其他类继承成为父类时,这个方法不是private的又被子类所重载,这样在实际创建子类的过程中递归调用到...
JAVA构造函数可以调用本类的其他方法吗
可以的,它可以调用本类的私有属性,那为什么不可以调用本类的其它方法呢?而且试过了,的确可以调用。public class Person { private String name = "aa";public Person(){ setName("dsd");} public void setName(String name) { this.name = name;} public static void main(String args[]){...
java在同一类中构造方法能调用成员方法,为什么成员方法不能调用构造方...
1、你需要知道构造方法是用来干嘛的,构造方法是用来构造对象实例的。而成员方法是用来执行某种功能的,需要对象实例来调用。所以顺序是:构造方法执行得到对象实例,对象实例调用成员方法。 所以成员方法中调用构造方法是不可能的,不知道你为什么要这么做。2、super只能放在子类构造方法中的第一行。其它地方...
JAVA一个类有两个构造函数,当在一个构造函数中调用另外一个构造函数时...
1、首先,先写一个完整数据,这是一个最原始的构造方法,如图。2、访问修饰符,访问权限修饰符对构造方法的重载不影响。所以不是构成不同构造方法的必要条件。3、排除了访问修饰符之后,由于构造方法没有返回值,接下来唯一可以区别的就是参数了。4、参数类型相同,都为整数类型,编译无法通过。5、最后...
关于java编程的问题:一个类调用另一个类中构造方法中所定义的参数。
类中构造方法中所定义的参数一般是属于类的属性,都是定义为private的,所以无法直接获取或者操作类的属性,但是可以通过类的get和set方法,间接获取和操作类的属性。以下为set和get方法示范:public int getA() { return a;} public void setA(int a) { this.a = a;} C#中结构中构造方法定义的...
5.在一个构造方法内可以调用另一个构造方法吗》如果可以,如何调用?
可以,使用this调用。例子如下:
java中,子类需不需要重写父类的构造方法?
在Java中,最好不要在父类的构造函数中调用会被子类重写的方法,否则运行时会遇到意想不到的错误。
java中,子类调用父类函数构造函数中被重写的方法,输出语句为什么是默 ...
1,Java的函数调用是虚拟调用,对象名.方法名,调用的都是其真实类型的函数,就是说,对象实际上是一个dog,那么调用的就是dog的重写方法。父类构造器之所以被调用,是因为子类的构造器会调用父类的构造器,整个过程实际上是dog的构造。2,这个和初始化顺序有关,new对象时,会先初始化成员变量再调用...
java类实现接口后,重写了接口中的方法,在创建新的类对象后,会自动运行...
不存在自动调用 只是在 jlabel的构造方法中 用你传递的icon实例调用了你实现的那个方法