封装与继承

1. 封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,⽽是通过该类提供的⽅法来实现隐藏信息的操作和访问。
2. 封装的两原则
  1. 把所有的属性隐藏起来
  2. 为允许访问的属性创建相应的⽅法
3. 实现封装的步骤
  1. 所有属性修改为private修改,以⽰私有化,即不能被外部访问。
  2. 为私有化的成员变量提供公有的访问⽅法,如果是设置⽅法必须是以set开头的⽅法定义,如果是获取⽅法且是⾮布尔值的必须是get开头的⽅法定义,如果是布尔值必须是is开头的⽅法定义。
  3. 可以在以上访问⽅法中编写相关的业务逻辑代码。
4. 包的概念
  1. 本质上就是⼀个⽬录,但只能存放类(class)。
  2. 功能:解决命名冲突,便于分门别类和管理,提供了访问的作⽤域。
  3. 创建包通过关键字package。
  4. 包名采⽤点分隔,全⼩写标识符构成的序列。
  5. 建包的语句必须写在java⽂件的⾸⾏。
  6. 在java中所有 的类都在⼀个包中存在,⽽java.lang包中存放的是标准类。
  7. 如果在当前类中需要其他类但不是在同⼀个包中时,则需要显⽰导⼊指定的包,可能通过关键字,import导⼊。
  8. 在导⼊包中的类如果⽐较多时,则可以通过*这个通配符来表示所有类。
  9. 必须先创建包,package,再导⼊包import。
5. 访问修饰符
  1. public 可以在包内(同⼀个类,同⼀个包),包个随意访问。
  2. 默认修改符(不写)可以在包内(同⼀个类,同⼀个包)随意访问。
  3. protected 跟他有关系的都可以访问(同类,同包,⼦类)。
  4. private 只能在同类中访问。
  5. static关键字。
1. 如果数据需要被所有对象共享,那么这个数据可以通过static来修饰的成员变量存储,此成员变量称为静态成员变量。

2. 操作静态变量数据的⽅法称为静态⽅法。。

3. 静态代码块主要⽤来初始化静态成员变量。

4. 静态成员可以通过类直接访问。

5. 静态代码块优先于构造器⽅法,多个静态代码块按顺序执⾏。

6. 实例变量属于每个对象独有,静态变量属于所有对象共有,即属于类的。

7. 静态⽅法只能访问静态成员,实例⽅法可以访问所有成员。

 

8. 继承
  1. 继承可以优化代码,重⽤代码。
  2. 当有多个类属于同⼀个逻辑(is-a) 时并有相同代码时可以使⽤继承实现。
  3. 先编写⽗类再编写⼦类,⼦类 extends ⽗类,且必须单⼀继承。
  4. 被protected修饰的成员能在类中被访问,能在包中被其他类访问,能在包外的⼦类中访问。
  5. 在⼦类中访问⽗类的成员时可通过super关键字实现,可以调⽤⽗类的成员变量,成员⽅法,构造⽅法,在⼦类构造⽅法中调⽤⽗类的构造⽅法时但必须把super写在⾸⾏。
  6. 在创建⼦类对象时先创建⽗类对象,所以在调⽤⼦类构造⽅法时先调⽤⽗类构造⽅法且默认调⽤⽗类的⽆参构造⽅法,在⼦类中也可以通过supter调⽤指定的⽗类构造⽅法。
  7. 继承public和protected修饰的属性和⽅法,不管⼦类和⽗类是否在同⼀个包⾥继承默认权限修饰符修饰的属性和⽅法,但⼦类和⽗类必须在同⼀个包⾥。

 

 

posted @ 2023-09-07 08:42  韩世康  阅读(23)  评论(0编辑  收藏  举报