美文网首页
Java复习笔记——基础面向对象

Java复习笔记——基础面向对象

作者: MWhite | 来源:发表于2017-11-27 12:27 被阅读0次

    概念清单

    类 对象 方法 实例变量
    多态 继承 封装
    抽象
    重载 重写

    面向对象知识

    1. 修饰符

    访问修饰符


    • default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。
    • private : 在同一类内可见。
    • public : 对所有类可见。
    • protected : 对同一包内的类和所有子类可见。

    非访问修饰符

    • static 静态变量 静态方法
    • final 类不能被继承,数据和函数不可被修改
    • abstract

    2. 继承

    class 父类 {
    }
     
    class 子类 extends 父类 {
    }
    

    接口

    public interface B {
        public void show();
    }
     
    public class C implements B {
    }
    
    • 构造函数
    • this
    • super
    • 抽象类

    3. 多态

    • 重写 Override
      不可重写父类的private方法
      子类中调用父类的被重写方法时,要使用super关键字
    • 重载 Overload


    public class Test {
        public static void main(String[] args) {
          show(new Cat());  // 以 Cat 对象调用 show 方法
          show(new Dog());  // 以 Dog 对象调用 show 方法
                    
          Animal a = new Cat();  // 向上转型  
          a.eat();               // 调用的是 Cat 的 eat
          Cat c = (Cat)a;        // 向下转型  
          c.work();        // 调用的是 Cat 的 work
      }  
                
        public static void show(Animal a)  {
          a.eat();  
            // 类型判断
            if (a instanceof Cat)  {  // 猫做的事情 
                Cat c = (Cat)a;  
                c.work();  
            } else if (a instanceof Dog) { // 狗做的事情 
                Dog c = (Dog)a;  
                c.work();  
            }  
        }  
    }
     
    abstract class Animal {  
        abstract void eat();  
    }  
      
    class Cat extends Animal {  
        public void eat() {  
            System.out.println("吃鱼");  
        }  
        public void work() {  
            System.out.println("抓老鼠");  
        }  
    }  
      
    class Dog extends Animal {  
        public void eat() {  
            System.out.println("吃骨头");  
        }  
        public void work() {  
            System.out.println("看家");  
        }  
    }
    

    4. 封装

    没啥说的

    相关文章

      网友评论

          本文标题:Java复习笔记——基础面向对象

          本文链接:https://www.haomeiwen.com/subject/wmuovxtx.html