Java学习笔记(一)----封装 继承 多态 抽象 接口
来源:互联网 发布:js点击隐藏按钮 编辑:程序博客网 时间:2024/05/19 17:02
包装 -- 对外隐藏特征和行为,内部实现细节 封装有利于程序的安全 -- 使用private修饰符私有化类的属性和方法 -- encapsulation -- 隐藏对象中的字段 -- 提供公共的操作方法 -- 对输入的值进行限制 --对封装的属性提供getter() 和 setter()方法 -- 只有getter()方法无 setter() 的属性为只读属性 -- 只有setter()方法无getter() 的属性为只操作属性 -- 封装包括 属性 和方法 -- 包括私有化属性和方法 -- 提供公共的接口 -- 限制数据的访问 *************************************** 访问修饰符 -- public -- private -- protected --有关系 子类 同一个包才能够用 -- default -- 默认 没写就是默认 继承 -- 继承就是将程序中共同的特征和行为抽取出来建立一个类,使其他类可以沿用此类中的属性和方法。这不仅仅可以减少程序中的重复代码,而且易于程序扩展 -- 提供子类可以沿用父类的某些行为和特征的一种方式,在程序中使用继承,有利于程序的扩展。 -- 使用关键字extends进行继承 -- 子类沿用父类的某些属性或方法的一种方式,同时有利于子类的扩展 -- 特点 --1、不能继承私有的属性和方法,构造方法也不能够继承 --2、一个类有且只有一个父类(继承的单一性) --3、继承具有传递性 --4、父类类型可以指向子类对象,但是只能使用父类类型可以使用的属性和方法 Persion persion = new Child(); persion只能够调用Persion类中的属性和方法 --5、子类可以拥有和父类一样的方法,具体调用哪个方法由对象的实际类型决定 extends 方法的重写 具体调用哪个方法由new后面实例化的对象决定 --6、子类类型到父类类型可以自动类型转换 父类类型到子类类型需要强制转换(父类类型实际上是一个子类对象才可以使用) Animal animal = new SmallMonkey(); Monkey monkey = new SmallMonkey(); animal(大) 转换成 monkey(小)时候可以强制转换 因为他俩作为父类 实际上都是指向子类SmallMonkey的对象 --7、区分父类对象和子类对象使用关键字:this 和 super --8、this() super() 表示构造方法 ,没有参数表示无参构造器 ,带参表示带参构造器 每个子类的构造方法都默认的调用了父类的无参构造方法 当父类没有无参构造器时,子类必须显示调用父类有的构造方法 --9、子类中调用父类的构造方法时关键字super()必须放在第一行 --Object 是所有类的父类 所有类都直接或者间接的继承与object -- 当类后没有关键字extends时候 就隐式的调用Object类 -- final final修饰的类不能够被继承 final修饰父类中的方法不能够被重写 final修饰的变量表示常量 值不能够被修改******************* 多态 接口***********************-- 多态的实现 -- 多态是指一个对外接口,多种实现方式,即一个接口使用不同的实例执行不同的操作,在Java中多态有两种表现形式,方法重载overload 和 重写 override --方法的重写 和 方法的重载 --重载:方法名相同 参数列表不同 -- 方法重载应在同一类中 -- 重载方法名称相同 参数列表不同 -- 方法的返回值不作为方法重载的区分条件 -- 重写 -- 分别存在于父类和子类当中 -- 子类和父类方法名相同 返回类型相同 -- 重写的返回类型不能够比父类返回类型大 返回类型为引用类型 -- 子类和父类的方法参数列表相同 -- 子类方法修饰符范围不能够比父类小 ******************* 抽象类 **********************抽象类 -- 抽象类 -- 抽象类作用类似于模板,其目的是方便开发人员根据抽象类的格式来修改和创建新类 -- 抽象类用于继承,有利于程序的拓展 -- 定义抽象类 abstract -- abstract 定义的方法为抽象方法 abstract class Book(){ public abstract void getBookName(); } -- 特点 -- 匿名类 (定义了匿名类来实现抽象类) TestAbstract tAbstract = new TestAbstract() {}; -- 抽象类可以定义构造方法,但是构造方法不能够被实例化 (上面例子是匿名类实现抽象类) -- 可以拥有非抽象类中的一切 -- 抽象类中可以有抽象方法 (使用abstract关键字修饰的方法,且没有方法的具体实现) -- 存在抽象方法的类一定是抽象类 (接口中存在抽象方法,但是接口不是抽象类) -- 子类继承抽象类必须实现其抽象方法,除非子类也是抽象类就不必实现 -- 抽象方法 -- 抽象方法不能够以static 和 final private protected修饰 -- static 修饰的是类所有 实例化时候重写抽象方法 该方法就属于实现类的 -- final 属于终态 无法被重写 -- private 私有化 访问范围最小 ******************* 接口 ************************* 为什么使用接口 -- 弥补继承的单一性 , 一个类可以实现多个接口 -- 接口实现多继承 -- 定义 -- 接口就是某个事物对外提供的一些功能的声明 -- 作用: 利用接口实现多态,弥补Java单一继承的缺陷 -- 定义接口关键字 interface -- 特点 -- 静态常量(public static final 可省略)(接口中定义的变量都为静态常量) -- 抽象方法(public abstract 可以省略) public abstract void takePhotos(); 等效于 void takePhotos() -- 实现接口关键字 implements -- 实现接口时候必须实现接口全部方法 -- 实现多个接口时候 接口之间使用“,”隔开 -- 接口不支持实现接口(接口中的方法都是抽象方法,如果实现接口 实现的接口就跟抽象方法有矛盾) -- 接口不能实例化 同时也不能有构造器
阅读全文
0 0
- Java学习笔记(一)----封装 继承 多态 抽象 接口
- 设计模式学习(一):java 面向对象特征:抽象、封装、多态、继承
- 封装、多态、抽象、继承、接口
- Java学习笔记(六)--继承 final关键字 多态 抽象类 接口
- java面向对象综合性总结----抽象+封装+继承+多态+接口
- java学习(6)-继承,多态,抽象类以及接口
- java学习笔记<一> 继承与接口
- 【Java学习笔记】10.继承、抽象类、接口
- JAVA基础必备(九)——继承,封装,多态,抽象类,接口
- java 面向对象三大特性(封装,继承,多态)以及抽象、接口的介绍
- Java面向对象的基本概念(对象、封装、继承、多态、抽象、接口、泛型)
- java 面向对象三大特性(封装,继承,多态)以及抽象、接口的介绍
- java 面向对象三大特性(封装,继承,多态)以及抽象、接口的介绍
- 抽象 多态 继承 封装 接口 单例
- 继承、多态、封装、抽象类与接口
- 封装 ,继承, 多态,抽象类 ,接口
- JAVA学习笔记04封装,继承,多态
- Java继承、抽象、接口、多态
- 在线识图搜索引擎
- 特征提取--基于局部二值模型(LBP)的特征提取
- java类加载的过程
- 学习笔记之JavaScript——知识点(2)
- J
- Java学习笔记(一)----封装 继承 多态 抽象 接口
- 浅析SQL中Group By的使用
- mfc TChar求其长度
- 前端脚手架
- 动态修改JDBC数据源配置
- Js_页面计算
- iOS 架构模式--解密 MVC,MVP,MVVM以及VIPER架构
- 用并查集判断是否为树
- Navigation Drawer Activity布局