继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。这也体现了大自然中一般与特殊的关系。继承性很好的解决了软件的可重用性问题。比如说,所有的Windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的。但是有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的子类,各个子类添加了不同的特性。
封装
◦封装是把过程和数据组织起来,对数据的访问只能通过已定义的方法。
◦封装的目的在于将对象的使用者和设计者分开,使用者不必知道行为实现的细节,只需使用设计者提供的消息来访问对象
package ;
//一个简单地继承方法
class Vehicles{ //Vehicles交通工具
public void run(){
}
}
class Car extends Vehicles{
public void run(){
System.out.println("四轮跑");
}
}
class Plane extends Vehicles{
public void run(){
System.out.println("翅膀飞");
}
}
public class Inheritance1 {
public static void main(String[] args) {
Car c=new Car();
Plane p=new Plane();
c.run();
p.run();
}
}
package ;
//韩顺平的例子
//父类
class Stu{
int name;
int age;
char sex;
int money;
}
//子类
class Pupil extends Stu{ //pupil小学生
public int offer(int money){
return this.money=money;
}
}
class Academician extends Stu{ //academician大学生
public int offer(int money){
return this.money=(int) (money*0.8);
}
}
public class Inheritance2 {
public static void main(String[] args) {
Pupil p=new Pupil();
Academician a=new Academician();
System.out.println("小学生学费"+ p.offer(5000));
System.out.println("大学生学费"+ a.offer(5000));
}
}