构造器
构造器的作用:创建对象,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());
}
}

浙公网安备 33010602011771号