zoukankan      html  css  js  c++  java
  • 构造方法

    类方法中的一类特殊方法:构造方法。

     

    1. 构造方法是当用类生成对象时,系统在生成对象时构造方法会被调用,但并不是构造方法生成了对象。

    2. 构造方法没有返回值。格式为:[    public  方法名。   ] 构造方法的方法名与类名相同。

    3. 构造方法是在对象生成的过程中自动调用,不可能利用指令去调用。

    4. 在一个对象的生成周期中构造方法只用一次,一旦这个对象生成,那么这个构造方法失效  (这方面可以写入一个生成类时,运行一次的功能的应用)

    5. 构造方法可以自己构造,包括有参和无参都可以,如果我们没写一个构造方法,那么系统会自动提供一个为空的构造方法,如果写了一个有参的构造方法,可以不用写无参构造方法

     

    用类来生成对象的语句:

    Student  s=new Student()

    第一个Student表示这是用Student类进行定义。“Student()”表示调用Students类的无参数的构造方法。public Students(){ }这形式的无参方法,如果()

    中有参数,则系统构造对象的过程中调用有参的方法。例Student  s=new Student(sdk)  则是调用Students(sdk)的有参方法,public Students(sdk){构造方法代码} 。

     

    此时s称为一个对象变量。Student  s的存储区域存放的是地址:一个对象在硬盘上占有一个连续地址,首地址赋予s空间。s称为对象Student的引用。(一个名叫s的屋子占用了内存世界的一地方)

    注意:

    在对象变量中存放的是引用(地址);在简单变量中存放的是数值。

     

    可以构造多个构造方法,但多个构造方法的参数表一定不同,参数顺序不同即属于不同的构造方法:

     public student(string name,int a){ } 

    public student(int a,string name){ } 

    为两个不同的构造方法。

     

     代码运用:

     

     1 class RectConstructor{//这里是装载乘除方法的类,下面是代值再运行
     2 double length;
     3 double width;
     4 double area(){
     5 return length*width;
     6 }
     7 RectConstructor(double width,double length){//带参数的构造方法
     8 this.length=length;//等号右面的length(这个length又是下面的new RectConstructor(10,20);在建立有参函数时给赋值上长10数值)赋值给this.length(                         字面意思,这个类的长度这个类的length,字面意思,这个类)
     9 this.width=width;//构造方法没有返回值,所以不能直接写return length*width;运算结果返回,但可以赋值,和打印。
    10 }
    11 }
    12 public class RectDemo{
    13 public static void main(String args[]) {   //这一句是程序的入口,有这句就代表代码从这里开始,上面的不会运行,但下面可以调用上面的代码运行。
    14 RectConstructor rect1=new RectConstructor(10,20);
    15 RectConstructor rect2=new RectConstructor(3,6);
    16 double ar;
    17 ar=rect1.area();
    18 System.out.println("第一个长方形的面积是"+ar);
    19 ar=rect2.area();
    20 System.out.println("第二个长方形的面积是"+ar);
    21 }
    22 }
    23 控制台输出结果为:
    24 第一个长方形的面积是200
    25 第二个长方形的面积是18

     

     

     

  • 相关阅读:
    September 29th 2017 Week 39th Friday
    September 28th 2017 Week 39th Thursday
    September 27th 2017 Week 39th Wednesday
    September 26th 2017 Week 39th Tuesday
    September 25th 2017 Week 39th Monday
    September 24th 2017 Week 39th Sunday
    angular2 学习笔记 ( Form 表单 )
    angular2 学习笔记 ( Component 组件)
    angular2 学习笔记 ( Http 请求)
    angular2 学习笔记 ( Router 路由 )
  • 原文地址:https://www.cnblogs.com/liyihome/p/3669285.html
Copyright © 2011-2022 走看看