--javaOp思想基本内容--
1.通过构造方法来创建对象
- 类名 对象名 =new 类名称 前面的类名标识可以点出什么内容,后面的类名标识可以点出的真实类型
- 对象名.属性 通过这种方法调试属性
- 对象名.方法名() 通过这种方式调用方
2.类与对象
- 面向对象的过程
- 发现类
- 发现类的属性
- 发现类的方法
- 构造方法与重载
- java和C#一样,可以在类中通过构造方法完成通过构造方法完成对类中属性赋初始值的操作
- 语法 :public 类名()
- 重载
- 声明语法:public 与类名相同()
- 在统一作用域里面,方法名相同,参数列表不同(类型,位置,个数)的方法统称为重载
- 与返回值内容无关
--面向对象编程--
- 封装
- get方法 读取方法,通过get方法获得已经被封装的数据
- set方法 写如方法,通过set把数据
- 面向对象三大思想之一,具有封闭内部信息,保留对外接口的特性
- PS:设置封装的时候一定要把访问权限设置成private,不然封装没有意义
--继承--
- 父类
- 拥有子类共同属性,类似于父母关系,基因遗传给子类
- 子类
- 继承父类之后的子类不可以使用private(私有的)和protected(受保护的)访问修饰符
- 使用super关键字可以直接调用父类资源(属性和方法)
- 一个类如果没有编写继承语句,则会直接隐式的继承java.lang.object类
- 子类只能继承同一个包内的父类非私有化的属性和方法,无法继承构造方法
- 重写
- 当父类的方法不能满足子类的时候,可以在子类中对父类的方法进行重写
- 重写必须满足的要求
- 方法名必须相同
- 必须有相同的参数列表
- 重写方法的返回值和被重写方法的返回值类型要相同
- 重写的访问权限不能低于被重写的访问权限(子类重写访问权限一定要比父类低或者平级),否则代码会出现异常
- java一定要在继承状态下才能实现重写
- 重写与重载的区别
- 重载是在同一个类中的同名方法,方法名相同,参数列表不同,用于给这个类提供多变的的使用方法
- 重写是子类和父类之间的同名,同参数列表的方法,用于覆盖,替换父类的方法
--抽象类--
- 在父类class语句前添加<abstract>关键字,可以将这个类变成抽象类
- 被抽象化之后的类无法实例化
- 抽象类可以添加抽象方法,不限个数 抽象方法不能有方法体
- 使用被抽象化的方法只能通过重写实现,并且抽象方法的抽象类被继承之后,必须将全部抽象方法实现
- 子主题
--访问修饰符与关键字--
- static(静态)
- 被static(静态化)的变量和代码块被new的时候会优先执行,执行完成之后再创建对象
- 静态方法中不能使用this和super关键字
- 静态变量不是局部变量
- this
- 在变量名前面加入this,表示调用当前类的局部变量,
- 通常用来在成员变量名和局部变量名相同时区分成员变量和局部变量
- super
- 通过super调用父类资源
- 调用构造函数写法为super(参数列表)
- super()只能写在构造函数的第一行
- 访问权限控制符
- public(公开的) 所有的包和类都可以访问
- protected(受保护的) 不同包且不同类的无法访问,可以被不同包的子类访问
- 默认(不添加访问修饰符) 不同后无法访问
- private(私有) 只有同类可以访问
- final(变量)
- 使用final修饰的类无法再被继承
- 使用final修饰的方法无法被子类重写
- 使用final修饰变量被称为常量,只能在被初始化的时候赋值.之后无法再被修改