一:什么是构造器
如果没有显示的定义构造器,如:
比如Person p=new Person(),这个Person就是构造器
构造器的作用2:初始化对象的属性
package com.xx.study;
public class PersonTest {
public static void main(String[] args) {
Person p=new Person("小猪");
System.out.println(p.name);
}
}
class Person{
String name;
public Person(String s) {
name=s;
}
}
二:构造器例题
例题1
Person.java
package com.xx.study;
public class Person {
private int age;
private String name;
public Person() {
age=18;
}
public Person(String s,int a) {
name=s;
age=a;
}
public void setAge(int a){
if(a<0||a>130) {
System.out.println("传入数据不合格");
return;
}
age=a;
}
public int getAge() {
return age;
}
public void setName(String s) {
name=s;
}
public String getName() {
return name;
}
}
PersonTest.java
package com.xx.study;
public class PersonTest {
public static void main(String[] args) {
Person p1=new Person();
System.out.println(p1.getAge());
Person p2=new Person("Tom",18);
System.out.println(p2.getName());
}
}
例题2:
TriAngel.java
package com.xx.study;
public class TriAngel {
private int base;
private int height;
//创建一个空参构造器
public TriAngel() {
}
//创建一个带参数的构造器
public TriAngel(int b,int h) {
base=b;
height=h;
}
public void setBase(int b) {
base=b;
}
public int getBase() {
return base;
}
public void setHeight(int h) {
height=h;
}
public int getHeight() {
return height;
}
public int result() {
return height*base*1/2;
}
}
TriAngelTest.java
package com.xx.study;
public class TriAngelTest {
public static void main(String[] args) {
TriAngel t1=new TriAngel();//空参
t1.setBase(12);
t1.setHeight(1);
System.out.println("base:"+t1.getBase()+"height:"+t1.getHeight()+"面积"+t1.result());
TriAngel t2=new TriAngel(12,2);//有参数
System.out.println("base:"+t2.getBase()+"height:"+t2.getHeight()+"面积"+t2.result());
}
}
二:属性赋值
后面的覆盖前面的