4.1Java构造方法

4.1Java构造方法

构造器也叫构造方法(constructor),用于对象的初始化

既可以称为构造器也可以称为构造方法,本质上还是一个方法。所以方法的特性全部适用于构造器里面

要点:

  • 通过new关键字调用!!

  • 构造器有返回值,但是不能定义返回值类型(返回值的类型肯定是本类)

  • 不能在构造器里使用return返回某个值!!!

  • 如果没有定义构造器,则编译器回自动定义一个无参的构造函数。如果已定义则编译器不会自动添加

  • 构造器的方法名必须和类名一致!

 

实例:

/**
* 创建类
* @author Lucifer
*/
public class Student {
   /*一个学生类应该包含这三个属性
   1.id
   2.name
   3.age
   这样的话根据这个类创建的对象都会包含这些属性---成员变量的作用域
   对象里面可以包含方法---光有属性没有方法被称之为结构体
   方法用于定义该类或该类实例的行为特征和功能实现
    */
   int id;
   String name;
   int age;
   Computer comp; //计算机对象,这个对象还没有值(或者是默认的值)

   /*
   现在定义他的方法:
   1.学习
   2.玩游戏
    */
   void study(){
       System.out.println("Good Good Study,Day Day Up" + comp.brand); //comp是我们的对象,通过'.'操作符去访问这个对象相关的属性
       return;
  }

   void play(){
       System.out.println("I am play game");
  }

   /*
   一个简单的类包含了:
   1.成员变量---属性
   2.方法
   这样就定义好了一张图纸,但是没有对象。
   main方法是程序执行的入口(主线程)可以放在这个类里面也可以放在别的类里面,都可以。
    */

   /*
   构造方法:用于创建这个类的对象,无参的构造方法可以由系统自动创建。
   相当于构造器,调用他是用new去调用
    */
   Student(){
  }

   public static void main(String args[]){
       Student stu = new Student();
       System.out.println(stu); //打印出对象在堆内对应的地址,这个地址不是一定的而是变化的
       //当输入:stu(对象名)+'.'的时候就会出现前面定义的属性和方法---涉及到继承的概念
       stu.id=(1001);
       stu.name="Lucifer";
       stu.age=18;
//       stu.play(); //调用play

       Computer c1 = new Computer(); //建好了一个Computer对象
       System.out.println(c1); //打印出对象在堆内对应的地址
       c1.brand = "MacOs"; //给这个对象下面的属性赋值
       /*
       把这个建好的对象给stu的comp属性
        */
       stu.comp = c1; //这样就把建好的对象的值给了stu的comp属性

       //现在去调用play方法和study方法
       stu.play();
       stu.study();

  }
}

class Computer{
   /*
   类和类之间也是可以互相引用和嵌套的
    */
   String brand; //这个类里面的一个变量:brand品牌。相当于类下面的一个属性
}
/*
public是访问修饰符
class是类
Student是类名
根据类的模板去创建相关的对象
一个类当中通常有两个东西:
1.属性(field):通常用来表示静态的特征,有时候属性也被称之为:成员变量
2.方法:
*/

 

posted @ 2021-04-02 10:41  俊king  阅读(90)  评论(0编辑  收藏  举报