java构造方法

java构造方法,第1张

1不写构造方法的话,类中会默认有一个无参的构造方法。等同于写了
public
类名(){}
2super();是调用父类的构造方法。
如:
class
A{
//
父类无参构造
public
A(){
}
}
子类继承父类
class
B
extends
A{
public
B()
{;
super();//调用父类的构造方法,当然super();也可以在其他方法中调用,不一定非要在要构造中调用。
}

你的这个程序单个运行没有任何问题。但是别的类调用就出错了。 你的类和构造函数都没有加pulic修饰符。
//pulic class Person
class Person{
String name;
int age;
//无参构造函数
//pulic Person(){
Person(){
name="zhang san";
age=80;
}
//有2个参数的构造函数
//pulic Person(String name1,int age1){
Person(String name1,int age1){
name=name1;
age=age1;
}
//输出方法
void a(){
Systemoutprintln("名字: "+name+"年龄: "+age);
}
//主函数
public static void main(String[] args){
//创建对象
Person person1=new Person("lisi",90);
//调用对象方法,输出信息
person1a();
}
}

你这里构造方法调用其他构造方法,不能这么用。可以用this关键字去代替。
public Student(String name, int id){
this(name); //调用本类一个参数的构造方法。 用this调用其他的语句,必须要放在构造函数中的第一个语句。
thisid = id;
}
public Student(String name){
thisname = name;
}

一。java类的构造方法一般是用来初始化类的变量的(也可以用于其他的功能),在声明类变量时会自动调用,一个类可以有多个构造方法。继续用楼上的例子。
eg用Person类来声明一个变量
(1) Person person=Person(heart);
(2)Person person;
1中前一个Person是类名,后一个Person()是构造方法,也就是public Person(Heart heart){}。
2中自动调用了一个系统自动创建的构造方法。这个构造方法没有参数,也没有执行命令,是一个空方法。当然,程序员也可以重写这个方法。系统会根据构造方法的参数个数和类型来自动调用不同的构造方法。
二。除了楼上提到的,我在补充一些。函数的参数:只要有这个类型,就可以用这个类型的数据作为参数。类变量的类型就是类。不要把变量局限于数字、字符、数组几个基本类型。
eg
有2个类 class A,class B。分别声明2个类变量 A a;B b;
声明一个函数 fun(A a1){};fun的参数就是一个A的类变量。
调用方法就是 fun(a);
如果A和B的结构完全一样,fun(b)也是正确的。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12885005.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-28
下一篇2025-08-28

发表评论

登录后才能评论

评论列表(0条)

    保存