1 封装
封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。
//类封装
private class people{
//属性封装
private String name;
private int age;
//方法封装
public void SetName(String Iname){
name = Iname;
}
public String GetName(){
return name;
}
public void SetAge(int Iage){
age = Iage;
}
public String GetAge(){
return age;
}
}
2 继承
java中只有子类继承父类,不能多重继承
public class father{
private String name;
private int age;
void String getname(){
return name;
}
int getage(){
return age;
}
}
private class son extends father{
public String myfathername(){
return getname();
}
public int myfatherage(){
return getage();
}
}
1)覆盖
public class Animal {
void eat(){
System.out.print("I am eating...\n");
}
void sleep(){
System.out.print("I am sleeping...\n");
}
void play(){
System.out.print("I am playing");;
}
}
public class cat extends Animal{
//Animal cat = new Animal();
//覆盖
void eat(){
System.out.print("a cat is eating...\n");
}
void sleep(){
System.out.print("a cat is sleeping...\n");
}
void play(){
System.out.print("a cat is playing...\n");
}
}
//测试
public class hello{
public static void main(String[] args) {
//5.23
Animal dong = new Animal();
dong.eat();
dong.sleep();
dong.play();
cat redcat = new cat();
redcat.eat();
redcat.sleep();
redcat.play();
}
}
// test result
I am eating...
I am sleeping...
I am playing
a cat is eating...
a cat is sleeping...
a cat is playing...
2)重载
public class Animal {
void playwithme(String str){
System.out.print("\noh,buddy,I get your string\n");
System.out.print(str);
}
void playwithme(int num){
System.out.print("\noh,buddy,I get your int num\n");
System.out.print(num);
}
void playwithme(char ch){
System.out.print("\noh,buddy,I get your character\n");
System.out.print(ch);
}
}
public class hello{
public static void main(String[] args) {
Animal dong = new Animal();
dong.playwithme('i');
dong.playwithme("dong");
dong.playwithme(2);
}
}
//test result
oh,buddy,I get your character
i
oh,buddy,I get your string
dong
oh,buddy,I get your int num
2