面向对象

2016-09-19  本文已影响0人  某某汪

一.三大特征:
1.封装: 把数据封装起来,不让外面随便访问
2,继承: 子类继承父类,有共同点
3.多态: 事物存在的多种形态

public 公共的,所有类都可以访问;
private 私有的,只有本类可以访问
protected 同一包,当前类,子孙类可以访问
default 同一个包内,本类可以访问
不同包调用,要导包

private 私有属性,要set,get方法
this. 当前的实例
3.final
final 加到变量上,就成为常量;不能修改
final 加到方法前,这个方法不能被子类覆盖(不能重写)
final 加到类前,表示这个类不能被继承
二. 继承
1.* A:this和super都代表什么

if (animal instanceof Dog) {
     System.out.println("这是一条狗");
     Dog d = (Dog)animal;
     d.bite();
}else if (animal instanceof Cat) {
     System.out.println("这是一只猫");
     Cat c = (Cat)animal;
     c.bite();
}

3.static关键字
(1)被static关键字修饰的成员,属于该类中所有对象的共享内容可以直接用类名调用,也可以用对象调用,但是建议用类名调用
(2)随着类的加载而加载,优先于对象存在:随着字节码文件的加载而加载的,那时候还没有对象呢
(3)静态修饰的内容一般我们称其为:与类相关的,类成员(静态变量:类变量,静态方法:类方法)
(4)在静态方法中是没有this关键字的(因为this指的是一个具体的对象,而静态在加载到内存时还没有具体的对象)
(5)静态方法只能访问静态的成员变量和静态的成员方法,非静态的成员方法既可以方法静态的成员方法和成员变量,又能访问非静态的成员方法和成员变量
简单记忆:静态不能访问非静态
4.组合是 has a 的关系,继承是is a的关系(我有一条狗,,,,,,,,,狗继承动物)
优先使用组合,因为他灵活
继承尽量不要超过三层
5.abstract 关键字

default void report() { //加defalut 可以声明方法
System.out.println("汇报相关数据");
}

2.内部类
内部类访问特点

4.(成员内部类私有使用)

5.局部内部类:(外部类里面方法里的类)

3.匿名内部类;

new 类名或者接口名(){
重写方法;
}

上一篇下一篇

猜你喜欢

热点阅读