构造方法概述
Student( )说明这个是一个方法,这个方法比较特殊,是以类名命名的,这就是构造方法。
因此,构造方法是一个特殊的方法。
作用:创建对象
构造方法的功能主要是完成对象数据的初始化
代码演示
package STUDENT;
public class Student {
String name;
private int age;
//构造方法
public Student(){
System.out.println("无参数构造方法");
}
public void setAge(int a){
if (a < 0) System.out.println("年龄输入有误");
else age = a;
}
public int getAge(){
return age;
}
public void study(){
System.out.println("学习");
}
public void doHomeword(){
System.out.println("做作业");
}
}
package STUDENT;
public class StudentCase {
public static void main(String[] args) {
Student s = new Student();
s.name = "小明";
s.setAge(30);
s.study();
s.doHomeword();
System.out.println(s.name);
System.out.println(s.getAge());
}
}
注意事项
-
构造方法的创建 (构造快捷键Alt + insert)
如果没有定义构造方法,系统将会给出一个默认的无参数构造方法
如果定义了构造方法,那么系统将不再提供默认的构造方法
-
构造方法的重载
如果自定义了带参构造方法,还要使用午餐构造方法,那么必须再写一个无参构造方法
-
推荐使用的构造方法
无论是否使用,都手工书写无参数构造方法
演示各种构造方法
package STUDENT;
public class Student {
String name;
private int age;
//无参构造方法
public Student(){
System.out.println("无参数构造方法");
}
//带一个参数的构造方法
public Student(String name){
this.name = name;
}
public Student(int age){
this.age = age;
}
//带两个参数的构造方法
public Student(String name, int age){
this.age = age;
this.name = name;
}
public void setAge(int a){
if (a < 0) System.out.println("年龄输入有误");
else age = a;
}
public int getAge(){
return age;
}
public void study(){
System.out.println("学习");
}
public void doHomeword(){
System.out.println("做作业");
}
}
package STUDENT;
public class StudentCase {
public static void main(String[] args) {
//无参数
Student s1 = new Student();
System.out.println(s1.name);
System.out.println(s1.getAge());
System.out.println("-----------------------------------");
//一个参数
Student s2 = new Student("小明");
System.out.println(s2.name);
System.out.println(s2.getAge());
System.out.println("-----------------------------------");
Student s3 = new Student(13);
System.out.println(s3.name);
System.out.println(s3.getAge());
System.out.println("-----------------------------------");
//两个参数
Student s4 = new Student("小明", 13);
System.out.println(s4.name);
System.out.println(s4.getAge());
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/95058.html