封装:是把不想或者不该告诉别人的东西隐藏起来,把可以告诉别人的公开,其具体的做法就是属性私有化,提供公有的方法(getter和setter)访问这些属性,在这些公有方法中实现对属性的控制。
构造方法:是用来实例化一个类的对象。在实例化类的对象时调用的就是这个类的构造方法。它的重载是同类同名不同参。
其例子是创建一个Dog类
代码:
Dog:
public class Dog {
private boolean mammal;//哺乳动物
private boolean canivorous;//食肉动物
private int numOfLegs;//有几条腿
private int mood;//心情
public String name;//名字
public Dog(){
mammal=true;
canivorous=true;
numOfLegs=4;
name="旺旺"
}public boolean isMammal() {
return mammal;
}
public void setMammal(boolean mammal) {
this.mammal = mammal;
}
public boolean isCanivorous() {
return canivorous;
}
public void setCanivorous(boolean canivorous) {
this.canivorous = canivorous;
}
public int getNumOfLegs() {
return numOfLegs;
}
public void setNumOfLegs(int numOfLegs) {
if(numOfLegs==4){
this.numOfLegs = numOfLegs;
}else{
System.out.println("你输入的腿数有误");
this.numOfLegs=4;
}
}
public int getMood() {
return mood;
}
public void setMood(int mood) {
this.mood = mood;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String sayHello(int mood){
this.setMood(mood);
switch(this.mood){
case 1:
return("呜呜叫");
case 2:
return("旺旺旺叫");
default:
return("摇摇尾巴");
}
}
public Dog(boolean mammal, boolean canivorous, int numOfLegs, int mood, String name) {
this.mammal = mammal;
this.canivorous = canivorous;
this.numOfLegs = numOfLegs;
this.mood = mood;
this.name = name;
}
}
TestDog:
public class TestDog {
public static void main(String[] args) {
Dog dog=new Dog();
System.out.println("一般情况下,狗打招呼的方式是"+dog.sayHello(0));
System.out.println("狗现在的状态是"+dog.sayHello(1));
System.out.println("狗不高兴的状态是"+dog.sayHello(1));
System.out.println("狗高兴的状态是"+dog.sayHello(2));
System.out.println("狗有"+dog.getNumOfLegs()+"条腿");
System.out.println("----------以下是第二只狗---------");
Dog dog1= new Dog(true,true,10,1,"小白");
System.out.println("一般情况下,狗打招呼的方式是"+dog.sayHello(0));System.out.println("狗现在的状态是"+dog.sayHello(2));
System.out.println("狗不高兴的状态是"+dog.sayHello(1));
System.out.println("狗高兴的状态是"+dog.sayHello(2));
System.out.println("狗有"+dog.getNumOfLegs()+"条腿");
}
}