导航:首页 > 编程语言 > java有参构造

java有参构造

发布时间:2022-11-29 15:54:19

java什么时候要设置有参构造

如果是final变量,就不行,比如:

class Test {
private final int i;
public Test(int i) {
this.i = i;
}
public void setI(int i) {
this.i = i;//错误,无法通过编译
}
}

㈡ JAVA一个类写了有参的构造方法,还会默认有一个无参的构造方法吗

不会,如果类中你已经写了有参构造方法,那么之前的默认无参构造方法就需要自己手动写上去。

㈢ java 有参构造函数

  1. 第一种是set方法赋值。

  2. 第二种是有参构造方法赋值。

  3. 他们的区别是:当对象被new的时候,

        1. 第一种首先进入的是set方法里面在从set方法里面进行赋值。

        2. 第二种是直接给参数赋值。


㈣ java 中有参构造与无参构造区别

无参构造器和有参构造器都是一样的,只不过一个有参数一个没有而已。一般创建类的时候,如果你不写构造器,那么这个类有一个默认的无参构造器。如果你写了一个有参的构造器,那么那个无参的构造器就被覆盖了!不过经常我都会多写一个无参的构造器,这样new对象的时候比较方便

㈤ java有参构造的,参数代表什么意思

和你写带参数的方法是一样的,参数就是你要传入的变量。类当然也可以传了,类不也是一种变量类型吗

㈥ Java 带参数构造函数

因为在一个类中,默人有一个没有带参数的构造函数;
在上面的这个类中,有自定义了一个带参数的构造函数。
当你在测试类中写的时候,实际上也有两个构造属性的方法。一个没有参数,一个有参数,所以必须程序员自己指定。故没有提示。
只能程序员自己添加。

㈦ java 构造方法可以有参数吗

构造方法,是你在构造一个对象时调用的方法,使用一个无参的构造方法就好比你创造了一个空的壳,具体的数据要等到你使用的时候再把值放到你创造出来的壳里面,而你也可以选择调用一个有参的构造函数,在创建的时候就把部分的值给他加上去。重载是指方法名字一样,而方法里面的参数的类型或数量不同。要注意的是单单返回值不同不能算是重载的。

㈧ Java中如何在无参构造方法中调用有参构造

一般正常的都是参数多的调用参数少的。有参数的调用无参数的居多。

当然你要无参调用的参的也可以。

你用无参,调用有参的。那你有参的参数你需要怎么传呢。当然如果换一个角度也可以。

我手写下。没经过IDE的。提供下思路。我有两种思路,写同一个功能。

public class Person{

private String name;

private int age;

//无参

public Person(){

this.name="张三";

this.age=20;

}

//有参

public Person(String name){

this.name=name;

}

//多参

public Person(String name,int age){

this(name);//调用一个参数的构造方法

this.age=age;

}

}

这是一种写法比较常用的方法。写第一种。用上面的例子直接写

public Person(){

this("张三",20);//调用有参构造方法。设置默认值。和第一种方法功能一样

}

public Person(String name,int age){

this.name=name;

this.age=age;

}

为了程序易读性。一般。参数的扩展和构造方法的调用都是有一定的规律的。

有参调无参,多参调少参。。扩展参数的时候,最好保持原来的顺序。

㈨ Java编程题: 编写一个Student类,包含name和age属性,提供有参构造方法

//*********************Student
import java.util.Objects;

public class Student {
public String name;
public int age;
Student(){}
Student(String name,int age){
this.name=name;
this.age=age;
}
public String toString(){//重写toString()
return "name: "+name+" age: "+age;
}
public boolean equals(Object o) {//重写equals()
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return age == student.age && Objects.equals(name, student.name);
}
public int hashCode() {//重写hashCode()
return Objects.hash(name)+age;
}
}

//********************StudentTest
import java.util.HashSet;

public class StudentTest {
public static void main(String[] args) {
HashSet<Student> hs=new HashSet<>();
Student s1=new Student("zs",19);//s1
Student s2=new Student("zs",19);//s2
Student s3=new Student("ls",19);//s3
hs.add(s1);//加入集合
hs.add(s2);//
hs.add(s3);//
//s1,s2,equals()返回true,s2不会加入集合
for(Student it:hs) {//遍历HasSet
System.out.println(it);
}
}
}

阅读全文

与java有参构造相关的资料

热点内容
小米sd卡解压 浏览:996
程序员那么可爱陆漓替老袁说情 浏览:28
当女程序员遇见问题 浏览:746
32位编译器什么意思 浏览:355
php多参数函数 浏览:17
通达信板块动作源码 浏览:751
matlab完全自学一本通pdf 浏览:249
php源码本地安装 浏览:961
服务器怎么用不会断电 浏览:301
主从服务器有什么用 浏览:213
jstlpdf 浏览:14
安卓原神在哪个app下载 浏览:808
单片机编程技术什么意思 浏览:104
e点课堂源码 浏览:45
免费打击垫app哪个好 浏览:532
程序员必装的6款软件 浏览:750
基于单片机的遥控器设计 浏览:521
安卓如何取消圆图标 浏览:11
收件服务器怎么样 浏览:48
建筑设计规范pdf 浏览:99