java之构造器

Posted 用户名同QQ号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java之构造器相关的知识,希望对你有一定的参考价值。

1.构造方法的作用:在new创建对象时为其赋值。

2.构造方法的分类:

①无参构造public 同类名(){},有参构造public 同类名(参数列表){语句}。

②构造方法没有方法名,没有返回值类型,因为构造方法在创建对象后,即进行弹栈。

③可以有多个构造方法,参照方法的重载。实际调用赋值时,必须与调用方法的实参类型和个数一致

 1 package com.oracle.demo02;
 2 
 3 public class Person {
 4     private String name;
 5     private int age;
 6     //构造方法  无参构造   同一个类中,方法名相同,参数的内容不同,方法的重载。
 7     //无参构造与有参构造同时写,在调用方法时,参数的赋值不同,调用无参和有参方法。
 8     public Person(){};
 9     //有参构造,在创建对象时调用有参构造
10     public Person(String name,int age){
11         this.name=name;//左边为调用对象,右边为赋值
12         this.age=age;
13     }
14     // 设置属性和访问属性
15     public String getName() {
16         return name;
17     }
18 
19     public void setName(String name) {
20         this.name = name;
21     }
22 
23     public int getAge() {
24         return age;
25     }
26 
27     public void setAge(int age) {
28         this.age = age;
29     }
30 
31 }
View Code

3.系统默认添加无参构造方法,所以在main中可以直接使用无参构造创建对象。但是只有有参构造时,无参构造无法使用。

4.构造方法和一般方法的区别

①构造方法只在创建对象时调用一次,一般方法可以多次调用。

②构造方法在调用时只能赋值一次,需要修改成员属性时,使用set和get方法。

 1 class Person {
 2 //普通方法,此时有返回值类型,不属于无参构造
 3     void Person() {
 4     }
 5 }
 6 class PersonDemo {
 7     public static void main(String[] args) {
 8 //使用系统默认的无参构造创建对象,与上述Person()方法无关;        
 9 Person p = new Person();
10     }
11 }

 

 

 1 public class Animal {
 2     private String color;
 3     private String name;
 4 
 5     // 此时类中无任何构造方法时,系统会给这个类默认添加无参构造方法
 6     // public Animal(){};
 7     // 当类中,只有有参构造方法存在时,无参构造方法无法使用。
 8     public Animal(String color, String name) {
 9 
10     }
11 
12     public String getColor() {
13         return color;
14     }
15 
16     public void setColor(String color) {
17         this.color = color;
18     }
19 
20     public String getName() {
21         return name;
22     }
23 
24     public void setName(String name) {
25         this.name = name;
26     }
27 }
View Code

以上是关于java之构造器的主要内容,如果未能解决你的问题,请参考以下文章

面试趣闻之java 代码块 静态代码块 构造方法 执行顺序

在 Visual Studio 中创建构造函数的代码片段或快捷方式

Java语言基础之方法的设计

Java之static静态代码块

Java面向对象之构造器

java回顾之继承 二