封装和继承

mac2022-07-05  12

封装和继承

1、掌握封装的使用

2、掌握包组织结构

3、掌握Java中的访问权限修饰符

4、掌握static关键字


面向对象的三大特性:

封装继承多态

一、掌握封装的使用**

1.1、封装:类和对象章节 当时学的是半成品封装。学会发现类,发现类的属性,类的行为。

另外一半封装概念:将一些不安全的信息进行保护,然后将可以直接被我们使用的部分开放出来(接口)。(提升安全性和可用性,有面向接口编程的思想)

使用步骤:未来这些类组件都应该采用封装来进行信息保护

属性私有化

提供公共的getter(getXX())和setter(setXX())方法

根据需求在setter方法中添加

1.2、一般的javaBean的规范

javaBean:其实值得就是我们那些对象类。

属性私有化提供公共的getter和setter方法提供无参构造实现序列化接口(序列化其实就是我们的对象在流)

1.3、封装的优势

1、便于使用者正确使用系统,防止错误修改属性。 2、有助于系统之间的松耦合(低耦合),提高系统独立性。当某一个系统的实现发生变化时,只要它的接口不变,就不会影响其他的系统 3、提高软件的可用性 4、降低了构建大型系统的风险 封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。‍

二、掌握包组织结构**

2.1、**包的作用**

package:从第二章节就开始创建了

他的作用就是用于对源代码进行分包管理,方便我们开发和阅读,另外也在一定程度上解决了同一个文件夹下无法出现同名文件,包机制是java中管理类的重要手段。开发中,我们会遇到大量同名的类,通过包我们很容易对解决类重名的问题,也可以实现对类的有效管理。包对于类相当于,文件夹对于文件的作用

规范:要求包名全部小写

公司域名的倒叙+应用程序名+【部门名称】+【功能模块】

课工场:www.kgc.cn->cn.kgc

腾讯:www.tencent.com->com.tencent.xx

阿里巴巴:www.alibaba.com->com.alibaba.xxx

开发的:Tim:com.temcent.tim.xxx

Android应用 将包作为了一种区分不同应用程序的一个要素。

另外还依靠于签名。

2. 2、**导包**

在我们使用类的时候:(一个使用另一个类)

1、如果是在同一个包中使用某个类,那么直接可以进行使用。

2、如果是在不同的包中使用某个类,必须先进行导包(import)。

3、如果使用的是java.lang包下的内容的话,不需要导包。例如:System、Math…(这是jvm自动导入)

包声明语法(必须出现在文件中的第一行有效代码):package 包地址;

导包的语法(必须出现在类声明上方,包声明下方):import 类的全限定名/全类名

如果需要用到java。util包中的很多内容:那么可以直接import Java.util.*;

快捷键:Ctrl+shift+O


三、掌握Java中的访问权限修饰符

访问修饰符:在类的语法和方法的语法上

访问修饰符不仅可以修饰属性、也可以修饰方法、还可以修饰类。

private:同一个类

[package/default]:(同一个包,同一个类)当你不写访问修饰符时 代表的就是包级别的访问

protected:同一个类 、同一个包、 子类

public:同类、同包、子类、任何

在一个类文件中,被public修饰的类的名称必须和文件名相同。

一般情况下不会在一个文件类


四、掌握static关键字

static:如果被他修饰的方法 ,在调用非static修饰的方法时,必须先创建对象才能使用。

static表示静态的,被他修饰的信息要和jvm运行时数据区-方法区打交道。

它可以修饰:

属性:类属性/类变量/静态变量 可以通过类名直接调用

方法:类方法/静态方法

代码块:静态代码块

为了在某种时机下执行的一段代码而已。

静态代码块只执行一次,在类加载的时候执行。

构造代码块会随着对象创建而执行,优先于构造方法。

注意事项:

static修饰的信息都是属于类的信息,他们会随着类的加载而进行初始化。

public static void methodl(){ //method2(); //(X)因为当method1()加载时 method2还未初始化 所以我们才会先创建对象再去使用 } public void method2(){ method1(); // method1已经在类加载的时候,加载完了 所以可以正常使用 }

static修饰的信息是可以被类的所有对象共享的

最新回复(0)