private
private 私有的 只能在本类中使用,其他类中无法使用被private修饰的
另外私有属性需要配合一对公共的访问方式(也是一种方法)可以做逻辑判断
设置器 (setter):为私有属性设置值 为age设置值 public void setAge(int age){this.age=age;}
访问器 (getter):获取私有属性 获取age值 public int getAge(){return this.age;}
封装
定义
隐藏内部的实现细节,对外提供公共的访问方式
优点
提高程序的安全性
提高代码的复用性
公共属性的缺点
属性赋值,值有可能出现符合类型范围要求但是不符合业务要求的数据
student.name=-18;
定义实体类时属性都需要私有化,并且提供一对公共的访问方式
private私有的
被private关键字修饰的内容只能在本类中使用,其他类中无法使用,提高了代码的安全性
使用方式
私有属性需要配合提供一对公共的访问方式--> 方法,因为在方法中可以做逻辑判断
设置器 setter : 为私有属性设置值
访问器 getter : 获取私有属性
代码实例
注意
私有是封装,封装不是私有
方法,类,属性的私有化... 都是封装的体现
继承
子承父业
目的:提高代码的复用性
作用
子类一旦继承父类,有权使用父类中的成员,可以在子类中定义子类独有的内容
缺点:提高编写效率,但不便于后期维护
定义
子类 extends 父类
子类
派生类
父类
基类 | 超类
单继承机制
一个子类只能继承一个父类,但是一个父类可以存在多个子类
开闭原则
面试对象设计原则之一 : 对修改关闭,对扩展开放
访问权限修饰符
成员修饰符
只能修饰成员,不能修饰局部
能够修饰类的
public和default
private私有的
作用于本类中
default默认的
作用于同包类内
protected受保护的
作用于同包类内;以及有继承关系的跨包类内
public公共的
不同包内均可使用
重写与重载的区别
重载
条件
一个类中的多个方法
方法名相同
参数列表不同|方法参数不同
重写
条件
两个类
继承|实现关系
方法签名完全相同
重写的需求
当子类从父类中继承的功能,对功能实现不满意的时候,可以在子类对从父类中继承的功能重新实现
调用使用
如果子类中没有重写,调用父类的,父类没有报错
如果子类存在重写方法,调用子类中重写后的方法,对父类的方法进行屏蔽
检测是否重写的方式
1.idea行号后面的位置出现o向上箭头
2.在重写方法上添加注解 @Override
不能被重写的方法
1.被private修饰的方法不能被重写;能被子类继承,但是无权使用
2.被final修饰的方法不能被重写
3.被static修饰的方法不能被重写
可以被继承不能被重写
如果子类中出现与父类中静态方法同名的方法,要求子类中这个同名的方法也被static修饰