构造器

类的结构之三:构造器(constructor)

构造器的作用:创建对象,new+构造器 ; 初始化被造对象的属性(注意区别构造器与方法:构造器是创建对象,而方法是透过对象来调用的)

说明:如果没有定义类的构造器的话,系统会提供一个空参的构造器。但是一旦定义了构造器,系统就不在提供空参的构造器了

一个类中可以定义多个构造器,这就是构造器的重载

我们自己定义构造器的格式为: 权限修饰符 类名(形参){}

 

构造器练习题01:

package com.myobjectoriented.nonworking;
/**
*
* @Desciption
* @author Abraham
* @email 1290807550@qq.com
* @version JDK1.8
* @date 2021年3月24日下午1:03:41
*/
public class Constructor {

private int age;
private String name;

public Constructor() {};//空参构造器

public Constructor(int a) {age=a;}//定义构造器:创建对象的同时初始年龄

public Constructor(int a,String n) {//定义构造器:创建对象的同时初始化年龄和名字
age=a;
name=n;
}
public void setAge(int a) {
age=a;
}

public void setname(String n) {
name=n;
}

public int getAge() {
return age;
}

public String getName() {
return name;
}




}

上面我们造了一个类,接下来我们来造对象, 并且来测试我们造的构造器

package com.myobjectoriented.nonworking;

public class Constructortext {
public static void main(String[] args) {
Constructor p0=new Constructor();
Constructor p1=new Constructor(10);
Constructor p2=new Constructor(18,"Abraham");

System.out.println("p1的年龄:"+p1.getAge());
System.out.println("p2的名字:"+p2.getName()+"\t"+"p2的年龄:"+p2.getAge());



}
}

 

我们先造三角形这个类:

package com.myobjectoriented.nonworking;

public class Triangle {

private double base;
private double height;

public Triangle() {};
public Triangle(double b,double h) {
base=b;
height=h;

}

public void setBase(double b) {
base=b;
}
public double getBase() {
return base;
}

public void setHeight(double h) {
height=h;
}
public double getHeight() {
return height;
}

public double triangleArea() {
return base*height/2;
}





}

在透过对象来调用构造器和方法

package com.myobjectoriented.nonworking;

public class Triangletext {
public static void main(String[] args) {
Triangle tri=new Triangle(3,3) ;

System.out.println("三角形的面积:"+tri.triangleArea());
System.out.println("============================================");
tri.setBase(5);
tri.setHeight(4);
System.out.println("三角形的面积为:"+tri.triangleArea());
System.out.println("三角形的底边长为:"+tri.getBase());

}
}

 

posted @ 2021-03-26 10:00  gAbraham  阅读(122)  评论(0)    收藏  举报