构造方法

构造方法:

一个类对应一个文件,只能用一个public修饰

  1 /**
  2     定义一个类:
  3 
  4     class 类名
  5     {
  6         
  7     
  8             每一个类都至少有一个构造方法:
  9                 每个类默认都有一个无参构造方法,是隐式的
 10 
 11                 特点:    
 12                         1.构造方法名和类名相同
 13                         2.禁止定义返回值类型,注意:连void 都不准写
 14 
 15                 
 16                 作用: 创建对象,给字段赋初值
 17         
 18         1~N个构造方法(构造器,构造子)
 19         0~N个字段
 20 
 21         0~N个方法
 22         
 23     }
 24 
 25 
 26     
 27 */
 28 
 29 class CellPhone
 30 {
 31     //一旦显示的写出来了一个构造方法,那么默认的就不再存在了
 32 
 33     CellPhone(){}//把默认的显示写出来
 34 
 35     CellPhone(String b,String c, double p){
 36         
 37         System.out.println("-->"+brand);
 38         //System.out.println(b+ "----------" + d);
 39 
 40         brand  = b;//把传过来的值赋给成员变量brand
 41         color = c;
 42         price = p;
 43     }
 44     
 45     String brand;//品牌
 46 
 47     String color;//颜色
 48 
 49     double price;//价格
 50 
 51 
 52     void showInfo()
 53     {
 54         System.out.println("brand=" + brand +", color= " + color +", price= " + price);
 55     }
 56 }
 57 
 58 public class CellPhoneDemo 
 59 {
 60     //显示的写出默认的构造器
 61 
 62     CellPhoneDemo(){}//不能  void CellPhoneDemo(){}
 63 
 64     //只要显示的写了构造方法,建议一个类保证有一个无参的构造方法.为了以后拓展
 65 
 66     public static void main(String[] args) 
 67     {
 68         //你创建对象,就是在执行构造方法
 69         CellPhone p = new CellPhone();//调用的无参的构造方法
 70         //new CellPhone();new CellPhone();new CellPhone();
 71         
 72         p.brand = "IT";//创建后赋值
 73         //System.out.println(p);//打印对象//CellPhone@bdb503  对象的hashCode值
 74         
 75         //IT品牌手机
 76         p.showInfo();
 77 
 78         //我想在创建一个手机对象的时候,就给定状态信息
 79         
 80         p = new CellPhone("itcast","RED",2.0);
 81         
 82         //Itcast手机
 83         p.showInfo();//brand=itcast, color= RED, price= 2.0
 84 
 85 
 86         
 87         /*
 88         特点:
 89             随着类的加载而加载
 90             优先于对象存在
 91             被所有对象所共享
 92             可以直接被类名调用
 93 
 94             方法的调用:
 95                 1.对象调用:  对象.方法(实参);
 96                                 
 97                 2.类调用     这个方法所在的类的名字.方法(实参);
 98                             //前提:  这个被调用的方法必须使用 static修饰
 99 
100             static in num = 100;//表示人类的总数
101 
102 
103         */
104     }
105 }
106     

 构造函数:创建构造对象时调用的函数。 
作用:可以给对象经行初始化。(创建对象都必须要通过构造函数初始化)

一般函数和构造函数的区别?

构造函数:对象创建时,就会调用与之对应的构造函数,对对象经行初始化。 
一般函数:对象创建后,需要函数功能时才调用。

构造函数:对象 创建时,会调用只调用一次。 
一般函数:对象创建后,可以被调用多次。

注意!

1.一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数构造函数。 
2.如果在类中定义了指定的构造函数那么类中的默认构造函数就没有了。 
3.构造函数可以有多个,用于对不同的对象进行针对性的初始化。 
4.多个构造函数在类中是以重载的形式来体现的。

细节: 
1.一般函数不能直接调用构造函数。 
2.构造函数前面如果加了void就变成了一般函数。 
3.构造函数中是有return语句的。

构造方法,字段,方法: 

构造方法:用来构造类的实例(默认有一个无参的构造方法,得使用new调用)

字段:类或对象所包含的数据,对类状态的一种描述;

方法:类或对象的特征或行为

原文地址:https://www.cnblogs.com/WestVillagedevil/p/6090265.html