Java面向对象编程—构造方法(函数)
前面我们在创建人类的对象时,是先把一个对象创建好后,再给他的年龄姓名属性赋值,,现在要求,在创建人类的对象时,就直接指定对象的年龄和姓名。
可以定义人类的时候,定义一个构造方法即可。
构造方法是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。有以下几个特点:
1、构造方法名和类名相同
2、构造方法没有返回值
3、在创建新对象时,系统自动调用该类的构造方法
4、主要作用是完成对新对象的初始化
5、一个类可以指定多个构造方法
6、每个类都有一个默认的构造方法(若程序员没有定义构造方法,那么系统会自动生成一个默认的构造方法比如Cat类)
Public Cat(){
};
当创建一个Cat的对象时,Cat cat=new Cat();
默认的构造函数(方法)会被自动的
public class gouZfangF { public static void main(String[] args){ Cat cat0=new Cat(3,"小魔"); Person p=new Person(cat0, 32, "张三"); p.name(); p.cat.name();
Child child0=new Child(3, "小王"); child0.joinGame(); Child child1=new Child(4, "小宋"); child1.joinGame(); Child child2=new Child(2, "小花"); child2.joinGame(); System.out.println("共有"+child0.total); } } //定义一个主人类 class Person{ int age; String name; Cat cat;//引用类型 public Person(Cat cat,int age,String name){ this.age=age; this.name=name; this.cat=cat; } public void name(){ System.out.println("名字是"+this.name); } } //定义一个小孩类 class Child{ int age; String name; //total是静态变量,因此,它可以被任何一个对象名所访问 static int total=0; public Child(int age,String name){ this.age=age; this.name=name; } public void joinGame(){ total++; System.out.println("有一个小孩加入"); } } //定义一个猫类 class Cat{ int age; String name; public Cat(int age,String name){ this.age=age; this.name=name; } //显示猫的名字 public void name(){ System.out.println("名字是"+this.name); } }
|
调用