前言
从访问权限修饰符到面向语言的三大特征
一、访问权限修饰符
访问权限修饰符,用来修饰类中的成员,控制是否可以被访问
从大到小
public:公共权限,在系统中哪里都可以访问
修饰类,方法(构造方法,成员方法),成员变量
protected:受保护权限,在本类,同包类,不同包子类中可以访问
修饰内部类,方法(构造方法,成员方法),成员变量
:默认权限 在本类,同包类访问
修饰类,方法(构造方法,成员方法),成员变量
private:私有权限 中等在本类中使用
二、面向语言的三大特征
封装 继承 多态
1.封装
封装含义:
1.包装,例如我们将一些常用的功能进行抽取,定义成一个方法
2.面向对象特征中的封装:隐藏,对类中的成员对外是否可见进行控制
封装案例1: 将类中属性私有化
封装案例2: 将某些方法私有化
java设计模式(模板,固定套路)
解决一类问题的固定方式
单例模式:单个模式,在系统中,想让某个类只能创建一个对象
成员变量和局部变量
位置:
成员变量: 在类中定义
局部变量:在方法中定义或者方法的参数
权限修饰:
成员变量:可以使用权限修饰符
局部变量:不可以使用权限修饰符
初始化:
成员变量:非静态--在创建对象后,由构造方法初始化
静态--类加载时初始化
局部变量:声明后后,使用前必须自已进行初始化
生命周期(什么时候生(创建),什么时候死(销毁)):
生(创建) 死(销毁)
成员变量:非静态--创建对象 对象被垃圾回收
静态--类加载 类被卸载
局部变量:当方法被调用 当方法执行结束
内存中位置:
成员变量:非静态--与对象在堆空间中存储
静态--与类信息在方法区中存储
局部变量:与方法在栈空间中存储
2.继承
子继承父 儿子就可以拥有父亲的功能
面向对象语言也引入了继承的思想
猫和狗 都用有名字,年龄,吃东西的属性和行为.
可以将这些共性的属性和行为进行抽取,这样就不需要在每个类中定义同样的属性和行为
只需要类与类之间建立继承联系即可
猫和狗 都是动物,他们都有名字,年龄,吃东西
抽取一个动物类
名字,年龄,吃东西
猫类 继承 动物类
猫抓老鼠
狗类 继承 动物类
狗看家门
继承的优点:
减少代码冗余,提高了代码的复用性
提高了程序功能的扩展性(分别在猫和狗类中维护他们各自特有的属性和行为)
什么时候使用继承?
猫是动物
狗是动物 满足什么是什么
方法重写:
当子类中的方法实现与父类中方法实现不同时,
在子类中对父类中某个方法结构重新定义,
重写实现
重写时要求方法结构与父类方法结构相同
super
在子类中使用super关键字,访问父类中定义的那部分成员
super.成员变量
super.成员方法(常用) 当子类中重写了父类方法时,
为了区分调用的是父类中还是子类中重写的方法,使用super调用父类中的
super() 表示调用父类中构造方法
继承中的构造方法的调用:
总是在子类的构造方法中,会去使用super() 调用父类的构造方法
为了确保对父类成员进行初始化
总结
本节面向对象语言的三大特征只有前两个特征,欲知后事如何,请看下篇文章