12.1Java-构造方法


一、构造方法

作用:在new的同时对成员变量赋值,给对象的属性初始化赋值
格式:
权限 方法名(参数列表){
}
方法的名字,必须和类的名字完全一致,大小写一致
构造方法不许写返回值类型,如void,int

构造方法在new时自动执行,仅执行一次

代码:Person类(内含this用法介绍)

 1 public class Person {
 2     private String name;
 3     private int age;
 4     
 5     /*
 6      * this的用法
 7      *     1.    this.的方式,区分局部变量和成员变量同名问题;this。后接成员变量
 8      *     2.    this在构造方法之间,this()
 9      *  
10      */
11     
12     public Person(String name,int age){
13         //System.out.println("有参数");
14         this.name = name;
15         this.age = age;
16         
17     }
18     
19     //构造方法的重载,空参数的构造方法
20     public Person(){
21         //this()的使用,必须放在构造方法第一行,调用的是有参的构造方法
22         /*this("李四",20);
23         System.out.println("空参数的构造方法");*/
24         
25         System.out.println("父类的构造方法");
26     }
27 
28     public String getName() {
29         return name;
30     }
31     public void setName(String name) {
32         this.name = name;
33     }
34     public int getAge() {
35         return age;
36     }
37     public void setAge(int age) {
38         this.age = age;
39     }
40 }

 

二、super()用法

子类中,super()的方式,调用父类的构造方法
super()调用的是父类的空参数构造方法
super(参数)调用的是父类的有参数构造方法
注意:子类中所有的构造方法,无论重载多少个,第一行必须是super()
构造方法没有重写

this()和super()不能同时存在于一个构造方法
子类的所有构造方法,直接,间接必须调用到父类构造方法
子类的构造方法,什么都不写,默认的构造方法第一行super();

代码:Student类

 1 public class Student extends Person{
 2     public Student(){
 3         this("222",2);
 4          
 5     }
 6     
 7     public Student(String s,int a){
 8         super("111",1);
 9     }
10 }

 


作者:CloudWxy,发布于:2019/05/16
原文:https://www.cnblogs.com/RainCloudxy/p/10875405.html