0
点赞
收藏
分享

微信扫一扫

8.继承,super,常用的包

unadlib 2022-01-23 阅读 109
  • 继承的概念:

  • 继承的步骤:

  • 继承的特点:

  • 继承的优缺点:

  • 继承的关键字:

  • 继承概念:

  • 从生活中的继承

  • 父亲的财产(金钱,房子,车子)

  • 儿子能够得到父亲的财产的继承

  • 从Java中的继承:

  • 父类--属性,方法

  • 子类--属性,方法

  • 子类可以得到父类的属性和方法的继承*

  • 继承的特点:

  • 1.继承的关键字extends

  • 2.父类中的哪些属性和方法是不能够被继承的’

  • (1.父类的私有的属性,方法

  • 2.父类的构造方法

  • 3.不同包下默认的修饰的属性和方法是不能够得到继承的

  • 3.继承只能够单层继承(单根性),不能多层继承

  • 比如、子类A extends 父类B

  • 其他子类D extends 子类A

  • 一个子类只能有一个直接父类,比如:子类 extends 父类

  • 4.使用多层继承,最小的子类可以拥有上级父类的属性和方法,也可以拥有父类的父类的父类的能够

  • 继承的属性和方法。*

  • 继承的使用步骤:

  • 0.面向对象 需要满足 is a 的关系,父类Animal 子类 Dog

  • 1.发现共同的属性和方法,抽取出来放在一个类中,这个类叫父类/超类/基类

  • 被继承的类叫子类/派生类

  • 2.使用关键字extends继承父类 ,语法:子类 extends 父类

  • 3.创建子类,调用父类的属性,方法*

  • 继承的好处和坏处:

  • 好处:提供重用性

  • 节省了代码,代码的优化性

  • 缺点:封装好处(提供了独立性),继承就是让每个类的关系变得更加紧密****

  • super关键字:(和this学习类似)

  • 访问父类的关键字,只能够在子类中才能够使用super

  • 访问父类的成员属性:super.父类属性名

  • 访问父类的成员方法:super.方法名

  • 访问父类的无参构造方法:super();

  • 访问父类的有参构造方法:super(值1,值2,...);*

  • super关键字的特点:

  • 1.只能够在子类中才能够使用super

  • 2.访问构造方法的时候,只能够出现在构造方法的第一条语句

  • 3.先访问父类的构造方法,再访问子类的构造方法

  • 4.访问子类的无参/有参构造方法之前,会先访问父类的无参构造方法,再访问子类自己的无参构造方法

  • 5.如果想先访问父类的带参构造方法,需要自己显示调用父类的有参构造方法

  • 先父类后子类

访问权限修饰符:可以访问哪个类或者属性或者方法的一种权限修饰符 同包中同类中 同包中普通类,子类中 不同包中的子类中 不同包的其他类public √ √ √ √protected √ √ √ ×default √ √ × ×private √ × × ×从宽到严的顺序,从大到小的顺序 public > protected >default >private public 公开的,任意地方都可以访问的,整个项目可见性 protected 受保护的,保护子类和自己 default 默认的,包可见性 private 只在本类中可见

  • 包其实就是一个文件夹

  • 帮我们进行分门别类的管理Java文件

  • 还可以解决同名的Java类*

  • 包的特点:

  • 1.声明包的语法:package 包名1.包名2.包名...;必须是在java类的第一行语句。

  • 2.导包的语法:import 包名1.包名2.类名;

  • 3.需要使用某个包下的类就需要导包import 包名1.包名2.类名;

  • 4.如果导入同一个类不同的包,就需要显示导包

  • import 包名1.包名2.类名;

  • import java.util.Date;

  • Date date = new Date();

  • java.sql.Date d = new java.sql.Date(1000L);

  • 5.包的命名规范,都是小写的,以小圆点分割

  • 公司的域名反写 比如 www.baidu.com com.baidu.www.模块名称.组名称.

  • 6.Java提供的系统包下的类是不需要导包的,java.lang不需要导包,Math类和String等

  • 7.需要使用不同包下的类的时候,是一定要导包的,

  • 使用同包下的类,是不需要导包的

  • 8.一个java类的顺序,package > import > class

  • 9.常用的包

  • java.lang 系统包 Math

  • java.util 工具包 Arrays

  • java.awt 窗体包

  • java.io 文件读写操作的包

  • java.refalit 反射包

  • 10.没有包的类是不能够使用的

  • 11.*代表所有类,如果要导入某个包下所有的类

  • 就是用java.util.*;*

  • Java面向对象的三大特征之一:封装(重要)

  • 面向对象的三大特征:封装,继承,多态,抽象

  • 从生活的封装:

  • 计算机:内存条、硬盘、CPU、散热器等

  • 房屋装修:水管

  • 大马路上:线路

  • 女性:年龄,体重

  • Java中的封装:

  • 需要考虑数据的安全性,数据不能直接让外界轻易访问到

  • 而是以我们规定的安全的方式让外界(其他类)访问(给外界提供一个公开的访问方式)

  • 保证数据的合理性,规范性

  • 保证代码的独立性**private 私有的,只能够本类中才能访问,其他类是不能够直接访问的

  • public 公开的,任意的地方都可以访问

  • 封装的步骤:

  • 1.给属性前面加上访问修饰符private,public,default,protected

  • 2.给外界提供公开的访问方式(getter获取值/setter设置值)

  • 3.在外界设置值的时候,会加上一些逻辑验证代码,保证数据的合理性**/

举报

相关推荐

0 条评论