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

概念清单

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

面向对象知识

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. 封装

没啥说的

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 4,892评论 0 2
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 5,513评论 4 12
  • Java基础笔记(一) 面向对象 [TOC] 1、定义类 其中的修饰符可以是public、final、abstra...
    小小少年Boy阅读 2,953评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,946评论 18 399
  • 什么是对象 1.对象的概念:对特定一个存在事物2.什么是面向对象:以自我为中心对待一个特定事物存在,需要自己描述出...
    joshul阅读 4,032评论 0 1