当我们学习Java的面向对象时,其中最为重要的是Java的三大基本特征:封装,继承,多态。
ok,今天就由月月来浅谈一下吧。O.o
封装
封装其实就是让我们去正确地设计对象的属性和方法
简单来说,封装就是把对象的属性私有化,并提供方法(set)作为入口,再去进行调用。
这样做得好处是:
1、可以对成员变量进行更精确的控制。
2、隐藏成员变量的信息,实现细节。
public class animal {
private int age;
private String color;
public animal() {
}
public int getAge() {
return age;
}
public animal(int age, String color) {
this.age = age;
this.color = color;
}
public void setAge(int age) {
this.age = age;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String eat(String something){
return something;
}
}
如上:这个是一个标准的JavaBean类
继承
当类与类之间,存在相同的内容,并满足子类是父类中的一种,此时,就可以考虑使用继承。
eg:猫,狗,蛇都可以有一个父类:动物。此时,在父类中就可以把猫,狗,蛇中的相同的属性
放在动物中由猫,狗,蛇来继承。减少代码量。
子类在去添加特有的方法使其更加强大。
public class cat extends animal {
public cat() {
}
public cat(int age, String color) {
super(age, color);
}
public void catchmouse(){
System.out.println("抓老鼠");
}
}
public class dog extends animal{
public dog() {
}
public dog(int age, String color) {
super(age, color);
}
public void watchhome(){
System.out.println("看家");
}
}
不过需要注意的是在Java中子类只能单继承,不能多继承,但可以多层继承。
说人话就是:子类可以有多个,父类只能有一个,但可以有多个父类。
多态
1、子类可以继承父类的属性和方法,子类对象能够直接使用父类中的方法和变量。
2、子类可以对从父类继承的方法进行重新实现,使得子类对象调用这个方法时表现出不同的行为。
3、可以将子类对象赋给父类类型的变量,这样就可以通过父类类型的变量调用子类中重写的方法,实现多态。
animal x=new cat();
cat v= (cat) x;
好处:
1、可以转化成真正的子类从而调用子类的方法
2、调用方法时使用父类类型作为参数,可以接收所以子类对象。
坏处:
不能使用子类特有功能。
最后月月祝大家,新年快乐,龙年行大运。