- package one;
- /**
- * 一个程序了解封装,继承和多态
- *
- * @author Alan
- *
- */
- // 定义父类
- class Super {
- /**
- * 这里介绍封装:
- * 封装体现在两个方面: 1, 数据和操作分离;2,私有成员和公有成员分离
- */
- public int field1;
- private int filed2;
- public void method1(int x) {
- System.out.println("父类打印的" + x);
- }
- private void method2() {
- }
- }
- class Sub extends Super {
- /**
- * 这里介绍继承:
- * java通过extends关键字表示继承。继承的知识点:
- * 1,子类不继承父类的私有成员,所以Sub不能继承field2和method2
- * 2,java不支持多继承,一个子类只有一个父类
- * 3,java支持多重继承,比如A继承B,B继承C,C继承D是可以的
- */
- int filed3;
- public void method3() {
- System.out.println("子类的方法");
- }
- /**
- *
- * 子类可以重写父类的方法,但需要两个条件:
- * 1,子类复写的方法的返回类型,方法名和参数都必须和父类相同,仅方法体可以不同
- * 2,子类复写的方法不能比父类的方法拥有更小的访问权限。以满足父类出现的地方,子类也适用。
- */
- public void method1(int x) {
- System.out.println("子类打印的" + x);
- }
- }
- public class Domo1 {
- public static void main(String[] args) {
- /**
- * 这里介绍多态:
- * 多态:指父类引用指向子类对象。这样任何一个子类对象都可以当作父类来使用。但是此时,
- * 该对象只有继承自父类的字段和方法被访问,子类独自享有的字段和方法被隐藏。
- * 多态发生的条件: 1,必须有继承; 2,必须有父类引用指向子类对象
- * 子类重写父类的方法,则引用时使用子类重写过的方法。
- */
- Super s = new Sub();
- s.method1(4); //调用子类重写过的method1方法
- }
- }
复制代码 |
|