Java面向对象精品教程教案:3.封装与继承

合集下载

Java面向对象的三大特征

Java面向对象的三大特征

Java⾯向对象的三⼤特征

Java ⾯向对象的三个特征

⾯向对象主要由三⼤特性:

封装

继承

多态

Java是⼀种⾯向对象的程序设计语⾔,⾯向对象就是再计算机设计程序过程中,参照现实中事物,讲事物的属性特征、⾏为特征抽象出来,描述成计算机事件的设计思想。

什么是类?类是⼀种相关属性和⾏为的集合。是抽象的

什么是对象?对象是⼀类事物的具体体现。即对象是类的⼀个实例。

⼀、封装

封装定义:编写⼀个类就是对数据和数据的操作封装,封装即时隐藏⼀切可隐藏的东西,只向外界提供最简单的编程接⼝。

封装原则:将属性隐藏起来,若需要访问某个熟悉,提供公共⽅法对其访问。

封装的步骤: 1. 使⽤private 关键字修饰成员变量。 2. 对需要访问的成员变量,提供对应的getXxx 和 setXxx ⽅法。

⼆、继承

继承定义:⼦类继承⽗类的特征和⾏为。提供继承信息的类被称为⽗类(基类),得到继承信息的类被称为⼦类(派⽣类)

继承特点:1、⼀个类只能继承⼀个⽗类,构造⽅法不能被继承。 2、⽀持多层继承 3、⽗类private 的属性和⽅法不能继承

继承格式:

class ⽗类 { }

class ⼦类 extends ⽗类 { }

super 和 this : super.成员变量---⽗类 super.成员⽅法 ---⽗类

this.成员变量---本类 this.成员⽅法 ---本类

三、多态

多态定义:同⼀个⾏为具有多个不同表现形式或形态能⼒。

优点: 1、消除类型之间耦合关系 2、可扩充性 3、接⼝性 4、灵活性 5、简化性 6、可替换⾏

《Java面向对象程序设计》课件-第3章 类和对象

《Java面向对象程序设计》课件-第3章 类和对象

}
形参
public void setPassword(String password) { //实例方法,设置密码 this.password = password;
}
22
3.3.2 实例方法和类方法
成员 方法
实例方法:没有用关键字static修饰的成员方法。 实例方法必须用对象名访问。 实例方法既可以操作类变量也可能操作实例变量。 类方法:用关键字static修饰的成员方法。 类方法一般用类名访问,也可用对象名访问。 类方法只能操作类变量,不能操作实例变量。
23
方法中的参数传递
public Car(String num) {
//形参
carNu百度文库 = num;
} 其调用语句为:
Car myCar = new Car("京A08L34"); //实参
24
正确使用下列类中的方法 Math类
随堂练习
String类
25
3.3.3 构造方法
构造方法的名字cla必s须s C与a类r 名{ 完全相同,并且不返回任何数据
B.User guest= new guest();
C.guest=new User ();
D.User guest=A();
3.[单选题]下列说法中能正确地描述类与对象关系的是_____。
A.对象是类的实例化

3-java面向对象PPT课件

3-java面向对象PPT课件
• 面向对象(Object Oriented),是一种现 代的软件开发方法学,它涵盖了软件开 发的整个过程,主要包括:面向对象的 分析(OOA)、面向对象的设计(OOD)、面 向对象的程序设计(OOP)
2021/3/12
3
3.1.2 类、对象、实例
• 类(class)用来表示客观世界中的一种事物或 者一个概念,如:人、汽车、房屋
1.封装:将数据成员(Data Member)和属于此 数据的操作方法(Operating Method),放 在同一个实体(Entity)或对象中。
2.继承:父类定义(Define)一些通用的属性 与行为,其孩子继续使用。
3.多态:允许将父对象设置成为和一个或更多 的子对象相等的技术。
2021/3/12
上朔、多态、抽象类与抽象方法、接口与多重继承、匿名内 部类、程序包、访问控制
• 异常处理
2021/3/12
1
3.1 理解面向对象的概念
• 面向过程
在一个结构体中定义窗口的大小,位置,颜色,背景等属性,对窗口操 作的函数与窗口本身的定义没有任何关系,如HideWindow, MoveWindow,MinimizeWindow,这些函数都需要接受一个代表要被 操作的窗口参数 ,是一种谓语与宾语的关系 。
void isManOrWoman() {
if (sex == 'M' || sex == 'm') System.out.println("I am a man");

java面向对象的方法

java面向对象的方法

java面向对象的方法

Java是一种广泛应用的面向对象的编程语言。面向对象是一种软件开发方法,它将现实世界的对象抽象为程序中的类和对象,通过封装、继承和多态等特性来实现代码的可重用性、可维护性和可扩展性。在Java中,面向对象的方法被广泛应用于各个领域,从桌面应用程序到企业级应用程序。

面向对象的方法主要包括以下几个方面:

封装:封装是将数据和方法封装在一个类中,通过访问修饰符来控制对数据的访问。封装可以隐藏实现细节,只向外界提供必要的接口,提高了代码的安全性和可维护性。通过封装,我们可以将一些数据和方法隐藏起来,只暴露出必要的接口,使得我们可以更加方便地使用这些接口,而不需要关心其具体实现。

继承:继承是指一个类可以继承另一个类的属性和方法。通过继承,我们可以复用已有的代码,减少代码的重复编写。Java中使用关键字extends来实现继承。子类可以继承父类的公共属性和方法,并且可以通过重写父类的方法来实现自己的特殊需求。继承可以提高代码的可扩展性,使得我们可以在不修改原有代码的情况下进行功能的扩展。

多态:多态是指同一个方法在不同的对象上有不同的行为。通过多态,我们可以在编译时不确定调用的具体方法,而是在运行时根据

对象的类型来确定具体调用的方法。多态可以提高代码的灵活性和可扩展性,使得我们可以通过传递不同的参数来实现不同的功能。

接口:接口是一种定义类的契约,它定义了类应该实现的方法。通过接口,我们可以实现类之间的松耦合,提高代码的可维护性和可扩展性。Java中使用关键字interface来定义接口,一个类可以实现多个接口。实现接口的类必须实现接口中定义的所有方法,从而保证类的一致性。

java的封装,继承和多态(思维导图)

java的封装,继承和多态(思维导图)

java的封装,继承和多态

类和对象

类声明 { 成员变量的声明; 成员方法的声明及实现; }

声明类:[修饰符] class 类<泛型> [extends 父类] [implements 接口列表]声明成员变量:[修饰符]数据类型 变量[=表达式]{,变量[=表达式]}

成员方法声明:[修饰符]返回值类型 方法([形式参数列表])[throws 异常类列表]{

语句序列;

[return[返回值]]; }

重载:一个类中可以有多个同名的成员方法,前提是参数列表不同,称为类的成员方法重载,重载的多个方法为一种功能提供多种实现。重载方法之间必须以不同的参数列表(数据类型、参数个数、参数次序)来区别。

例如,MyDate 类可声明多个重载的set()方法如下: void set(int y,int m, int d)

void set(int m, int d) //重载方法,参数个数不同void set(int d) void set(MyDate date)//重载方法,参数的数据类型不同

对象

对象声明:类 对象

构造实例:对象 = new 类的构造方法([实际参数列表])引用对象的成员变量和调用成员方法:对象.成员变量 对象.成员方法([实际参数列表])

类的封装性

构造与析构

类的构造方法用于创建类的一个实例并对实例的成员变量进行初始化

一个类可声明多个构造方法对成员变量进行不同需求的初始化,构造方法不需要写返回值类型,因为它返回的就是该类的一个实例。例:MyDate类声明以下构造方

法:public MyDate(int year, int month, int day)// 声明构造方法,方法名同类名,初始化成员变量 {

Java面向对象的三大特性

Java面向对象的三大特性

Java面向对象的三大特性

Java面向对象的三大特性

Java面向对象的三大特性分别为:封装、继承、多态,下面我们一起来详细了解一下!

1.封装:

说得通俗一点,就是把细节隐藏起来,把该公开的公开,把该私有的私有。

那如何封装一个类?

类中含属性和方法,属性可有可无,并且应该设置为private.

方法可有可无,对外的方法的应该公开,对内的方法应该私有.

一个类的方法,大致有:

构造方法 -> 可以生成

存/取属性值的方法,也就是 getter/setter 属性方法. -> 可以生成

业务方法,实现此类对象的真正业务功能,是程序员真正需要花心思考虑的。

针对类中的方法,有以下两种封装策略:

1).把存/取属性方法、构造方法、业务方法全部封装到同个类中。

2).把业务方法单独独立出来,形成一个业务类,这个类用来操作与它所相关的实体对象。它一般由接口与实现类组成.

实体(Entity)对象,就是指含业务属性和属性存/取方法的对象.

如:封装策略一:

public class Account {

private long id;

private String name;

private double balance;

private String pwd;

....

// getter/setter方法

// 构造方法

....

// 业务方法

public void withdraw(double money) {

if(balance < money) {

System.out.println("余额不足");

return ;

面向对象程序设计教案完整版

面向对象程序设计教案完整版


02
提高可维护性和可扩展性
多态性使得程序更加灵活,易于维护和扩展。当需要添加新的功能时,
只需要添加新的子类并实现相应的方法即可。
03
实现接口和抽象类的多态性
通过实现接口或继承抽象类,可以定义一组规范的方法,并由不同的子
类实现具体的业务逻辑。这使得程序更加模块化、可重用和易于维护。
06
异常处理机制与文件操作
安全性
多线程支持
Java提供了丰富的安全特性,包括访问控 制、加密、代码签名等,确保应用程序的 安全性。
Java内置对多线程的支持,可以方便地编 写并发程序,提高程序执行效率。
基本数据类型及运算符
基本数据类型
Java提供了8种基本数据类型,包括 整型(byte、short、int、long)、 浮点型(float、double)、字符型( char)和布尔型(boolean)。
多态性体现和应用场景
方法重载
在同一个类中,可以定义多个名 称相同但参数列表不同的方法, 实现不同的功能。
方法重写
在子类中重写父类的方法,实现 自己的业务逻辑。
多态性体现和应用场景
• 对象的多态性:通过父类类型的引用指向子类的对象,并 调用该对象的方法。
多态性体现和应用场景
01
简化代码
通过使用多态性,可以编写更加简洁、易读的代码,减少重复的代码量

Java程序设计项目式教程 教案 教学设计-单元3 Java面向对象程序设计

Java程序设计项目式教程 教案 教学设计-单元3 Java面向对象程序设计

单元三JaVa面向对象程序设计

课程名称:《名Va面向对象程序设计》

适用专业:________________________________

授课年级:________________________________

授课学期:________________________________

授课教师:________________________________

《Java面向对象程序设计》课程教学单元设计

(完整版)面向对象程序设计教案(2024)

(完整版)面向对象程序设计教案(2024)

面向对象程序设计的基本概念
编程语言的语法和特性
包括对象、类、封装、继承、多态等核心 概念的讲解和实践。
详细介绍了Java等面向对象编程语言的语 法、数据类型、控制流等基础知识。
面向对象的设计原则
常用设计模式和架构
讲解了单一职责原则、开放封闭原则、里 氏替换原则等面向对象设计的基本原则。
2024/1/30
应用场景
日志记录器、数据库连接 、图形界面中的按钮和文 本框等。
21
观察者模式
优点
目标和观察者之间的抽象耦合最小;支持广播通信。
2024/1/30
缺点
如果一个观察者对象有很多直接和间接的依赖,那么通知所有观察者会花费很多时间;如果在观察者和观察 目标之间有循环依赖的话,观察目标会触发它们之间进行循环调用,可能导致系统崩溃。
9
访问控制修饰符
访问控制修饰符的作用
private修饰符
protected修饰符
public修饰符
访问控制修饰符用于限制类、 属性、方法的访问权限,确保 数据的安全性和代码的合理性 。常见的访问控制修饰符有 private、protected、public 等。
2024/1/30
private修饰符表示被修饰的属 性或方法只能在当前类中访问 ,其他类无法直接访问。
应用场景
GUI系统、订阅-发布系统、事件多级触发场景等。

Java面向对象精品PPT课件

Java面向对象精品PPT课件
客观世界是由对象和对象之间的联系组成的。
对象的基本概念
在程序设计中,软件对象的概念由真实世界对象 而来。
状态==变量(variables)或称数据字段 (data field)
行为==方法(methods) 对象实现了状态和行为的结合,使状态和
行为封装于对象的统一体中。
方法(行为)
method 1 data field 1 data field n
对象的基本概念
1.对象也可以是无生命的 个体,比如一辆汽车或一 台计算机。 2.对象也可以是一件抽象 的事物,如天气或鼠标所 产生的事件。
对象的基本概念
对象的状态和行为
对象具有状态(state) 对象还有行为(behavior )
例如:一个人有他的身高或体重作状态,并 有他的行为——如唱歌、打球、骑摩托车、 开汽车。一只狗有它的颜色作状态,也有它 的行为,如啃骨头或跳跃。
method n
数据字段(状态)
类的基本概念
类——是一组具有相同属性特征的对象的 抽象描述。
在真实世界里,有许多同“种类”的对象。 而这些同“种类”的对象可被归类为一个 “类”。例如我们可将世界上所有的汽车归 类为汽车类,所有的动物归为动物类。
动物类
汽车类
自然界中生物的一大类,与植物相对。 多以有机物为食料,有神经,有感觉,能运动。
类名称][implements 接口名称列表]

Java中封装、继承、多态的理解

Java中封装、继承、多态的理解

Java中封装、继承、多态的理解

Java中的继承、封装、多态

继承的理解:

1、继承是⾯向对象的三⼤特征之⼀,也是实现代码复⽤的重要⼿段。Java的继承具有单继承的特点,每个⼦类只有⼀个直接⽗类。

2、Java的继承通过extends关键字来实现,实现继承的类被称为⼦类,被继承的类称为⽗类(有的也称其为基类、超类),⽗类和⼦类的关系,是⼀种⼀般和特殊的关系。就像是⽔果和苹果的关系,苹果继承了⽔果,苹果是⽔果的⼦类,⽔果是苹果的⽗类,则苹果是⼀种特殊的⽔果。

3、Java使⽤extends作为继承的关键字,extends关键字在英⽂是扩展的意思,⽽不是继承。为什么国内把extends翻译成继承呢?除了与历史原因有关外,把extends翻译成为继承也是有其道理的:⼦类扩展⽗类,将可以获得⽗类的全部属性和⽅法,这与汉语中得继承(⼦辈从⽗辈那⾥获得⼀笔财富成为继承)具有很好的类似性。值得指出的是:Java的⼦类不能获得⽗类的构造器。

4、实例:

class BaseClass{

public double weight;

public void info() {

System.out.println("我的体重是"+weight+"千克");

}

}

public class ExtendsDemo001 extends BaseClass {

public static void main(String[] args) {

//创建ExtendsDemo001对象

ExtendsDemo001 ed = new ExtendsDemo001();

JAVA面向对象程序设计教案

JAVA面向对象程序设计教案

教案首页

注:表格内容统一用5号宋体填写。

教学设计

教学内容

说课内容:

1、为什么要学本门课

《Java高级程序设计》是计算机类专业必修的一门专业核心课,本课程以能力与知识相结合为培养目标,以社会岗位需求为向导,切实培养同学们的逻辑与编程思维及使用程序设计语言解决实际问题的能力,为同学们走上工作岗位打下坚实的基础。

2、具体职业岗位专业能力培养:

(1)具备面向对象编程的编程思想及基本算法,能根据问题正确选择、组合算法。

(2)能独立编写代码,编写测试数据,并能独立调试程序,获得正确结果。

(3)具备进行分析和处理Java程序运行中产生的有关技术问题的能力。

(4)开发创新的能力。

3、本门课学什么

通过本门课程的学习,使同学们掌握 Java 程序设计语言的基本语法, Java 面向对象编程

方法,同时应具备利用 JDK来创建、编译、调试 Java 项目的能力。对于本门课程有如下三个教学目标:

(1)知识目标:理解和掌握JAVA语言基本语法和语义,掌握标准程序和小应用程序的开发方法,掌握数据库、网络编程的基本开发方法。

(2)能力目标:要求能较熟练地使用 JDK 进行 Java 程序的编辑、编译和调试技术,使用MyEclipse进行图形用户界面设计和数据库应用程序的开发;能开发有一定实用价值的应用程序。

(3)素质目标:养成良好的编程习惯、提高团队精神和协作精神、艰苦奋斗意识、心理素质和克服困难的能力。

4、怎么组织本门课

1)以就业为导向,进行专业定位。

2)对软件开发工作岗位和工作任务进行分析。

3)明确计算机应用专业的核心能力,进行课程设计,做到实际的工作岗位——Java软件编程师与工作任务相对应。

java面向对象程序设计 教学代码

java面向对象程序设计 教学代码

java面向对象程序设计教学代码

Java面向对象程序设计是一门重要的编程语言,它以对象为基本单位,通过封装、继承和多态等特性来实现代码的复用和灵活性。本文将介绍一些常用的面向对象程序设计的教学代码。

一、类和对象的定义和使用

在Java中,类是对象的模板,对象是类的实例。我们可以通过定义类来创建对象,并使用对象调用类中的属性和方法。

```java

public class Person {

// 定义类的属性

private String name;

private int age;

// 定义类的方法

public void setName(String name) {

= name;

}

public void setAge(int age) {

this.age = age;

}

public String getName() {

return name;

}

public int getAge() {

return age;

}

}

// 创建对象并使用

Person person = new Person();

person.setName("张三");

person.setAge(18);

System.out.println("姓名:" + person.getName()); System.out.println("年龄:" + person.getAge());

```

二、封装和访问控制

封装是面向对象程序设计的重要特性之一。通过封装,我们可以隐藏类的实现细节,只暴露必要的接口供外部使用。Java通过访问修饰符来实现对类成员的访问控制,常用的访问修饰符有public、private和protected。

java教案

java教案

java教案

教案一

课程名称:Java基础编程

课时数:2课时

教学目标:

1. 理解Java编程的基本概念和语法规则;

2. 掌握Java常用数据类型和变量的定义与使用;

3. 能够使用Java进行简单的计算和数据处理;

4. 能够写出基本的Java程序,并能够运行和调试。

教学内容:

1. Java的基本概念和语法规则

2. 数据类型和变量的定义与使用

3. 简单的计算和数据处理

4. 基本的Java程序设计

教学步骤:

第一课时:

1. 引入课程内容,介绍Java的基本概念和语法规则;

2. 讲解数据类型和变量的定义与使用,包括整数、浮点数、字符串等;

3. 完成简单的计算和数据处理的示例;

4. 带领学生编写并运行第一个简单的Java程序。

第二课时:

1. 回顾第一课时学习内容;

2. 扩展讲解其他常用数据类型和变量的定义与使用,如布尔型、字符型等;

3. 讲解控制语句和循环语句的基本用法;

4. 带领学生编写简单的Java程序,包括条件语句和循环语句

的使用。

教学资源与工具:

1. 电脑、投影仪等教学设备;

2. Java编程软件,如Eclipse、IntelliJ IDEA等;

3. 相关的代码示例和教学文档。

教学评估:

1. 带领学生完成课堂练习,检查学生对Java基础编程的掌握

程度;

2. 提供一些简单的编程作业,让学生独立完成,并进行相互评估和讨论,检验学生的实际能力;

3. 每节课结束后,进行小结和讨论,确认学生对所学内容的理解程度。

教学反思:

1. 根据学生的理解情况,调整教学步骤和内容;

2. 及时获取学生的反馈和建议,改进教学方法和教材;

JAVA面向对象程序设计教案

JAVA面向对象程序设计教案

JAVA面向对象程序设计教案

一、课程概述

JAVA面向对象程序设计课程是计算机科学专业的重要课程之一,它主要涉及JAVA语言的基础语法、面向对象编程的概念、方法和技巧,以及在软件开发中的应用。本课程的目标是帮助学生掌握JAVA语言的基础知识和面向对象编程的思想,能够利用JAVA语言进行软件开发和程序设计。

二、课程目标

1、掌握JAVA语言的基础知识,包括数据类型、运算符、控制语句、函数等;

2、理解面向对象编程的概念,掌握类和对象的基本概念和用法;

3、掌握JAVA语言中的常用类和接口,如String类、数组类、异常处理类等;

4、掌握JAVA语言的高级特性,如继承、多态、抽象等;

5、掌握JAVA语言在图形用户界面设计、文件操作、网络编程等方面的应用;

6、培养学生的创新思维和编程能力,提高学生对软件工程的认知和实践能力。

三、课程内容

1、JAVA语言的基础知识;

2、面向对象编程的概念和方法;

3、JAVA语言中的常用类和接口;

4、JAVA语言的高级特性;

5、JAVA语言在软件开发中的应用,如图形用户界面设计、文件操作、网络编程等。

四、教学方法

1、理论教学:通过课堂讲解、案例分析等方式,让学生掌握JAVA语言的基础知识和面向对象编程的思想;

2、上机实践:安排上机实验,让学生亲自动手编写代码,加深对知识的理解和掌握;

3、项目实践:安排学生进行小组项目实践,让学生综合运用所学知

识进行软件开发,提高学生的编程能力和团队协作能力。

五、课程评估

1、平时成绩:包括课堂表现、作业完成情况等;

2、期末考试:包括理论考试和实践考试,以评估学生的综合能力和知识掌握程度。

《Java面向对象课件(含思政课)》

《Java面向对象课件(含思政课)》

网络编程的基本概念
了解网络编程的基本原理和网络通信的基 本模型。
Socket编程
深入研究Socket编程的概念和实现,掌 握Socket编程的基本操作和常用API。
网络数据的处理
学习如何处理网络数据,包括数据的发送、接收和解析。
多线程编程的基础概念和应用实例
学习Java多线程编程的基础概念和应用实例,掌握如何创建和管理多线程,实现多线程间的协同和同步。
1
JDBC的基本概念
了解JDBC的基本原理和体系结构,包括DriverManager、Connection和Statement等核 心组件。
2
连接数据库
学习如何连接不同类型的数据库,包括MySQL、Oracle和SQL Server等。
3
执行SQL操作
掌握如何使用JDBC执行SQL语句,包括查询、插入、更新和删除等操作。
集合类的概述
常用数据结构
了解集合类的基本概念和作用, 学习常用的集合类及其特点。
掌握常用的数据结构,包括数 组、链表、栈、队列等,以及 它们的特点和应用。
哈希表的应用
深入研究哈希表的原理和应用 场景,了解如何使用哈希表进 行高效的数据检索。
IO流的概念和实现
学习Java中的IO流概念和实现方法,掌握如何读取和写入文件,以及如何进行流的连接和处理。
《Java面向对象课件(含 思政课)》
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成员方法
静态方法,可以直接通过类名访问
代码块
静态代码块,当Java虚拟机加载类时,就会执行该代码块
19/41
static代码块
JVM加载类时,加载静态代码块
如果有多个静态块,按顺序加载
每个静态代码块只会被执行一次
public class StaticTest { static int num=100; static{ num+=100; System.out.println(num); } static{ num+=100; System.out.println(num); }
封装与继承
本课目标 学完本次课程后,你能够:
理解封装的作用 会使用封装 会使用Java中的包组织类 掌握访问修饰符,理解访问权限
2/41
为什么要使用封装
案例中的代码有什么缺陷?
Penguin p=new Penguin(); p.health = -1000;
属性随意访问,不合理的赋值
…… }
作为Java源代码第一条语句 用package声明包,以分号结尾
10/41
包命名规范
包名由小写字母组成,不能以圆点开头或结尾
package mypackage;
包名之前最好加上唯一的前缀,通常使用组织倒置的 网络域名
package net.javagroup.mypackage;
包名后续部分依不同机构内部的规范不同而不同
使用封装实现电子宠物系统的企鹅类正确输入健康值和 亲密度
保证健康值的有效性(0-100),否则取默认值60 保证亲密度的有效性(0-100),否则取默认值60
7/41
为什么需要包
Windows树形文件系统
文档分门别类,易于查找和管理 使用目录解决文件同名冲突问题
问题 如何存放两个同名的类而不冲突?
1. 系统包:java.util 2. 自定义包:cn.jtest.classandobject
*: 指包中的所有类 School :指包中的School类
13/41
使用包的注意事项
一个类同时引用了两个来自不同包的同名类
必须通过完整类名来区分
每个包都是独立的,顶层包不会包含子包的类 package和import的顺序是固定的
4/41
如何实现封装
设为private,防止错误的修改
用于属性的读写
对属性值的wenku.baidu.com法性进行判断 演示示例2:类的封装
5/41
封装的好处 便于使用者正确使用系统,防止错误修改属性 有助于系统之间的松耦合,提高系统独立性 提高软件的可重用性 降低了构建大型系统的风险
6/41
练习1:使用封装实现企鹅类 需求说明
如何解决上面设计的缺陷?
使用封装
演示示例1:未使用封装的宠物类
3/41
什么是封装
面向对象三大特征之一 ——封装
封装的概念
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是 通过该类提供的方法来实现对隐藏信息的操作和访问
把尽可能多的东西藏起来,对外提供便捷的接口
封装的两个大致原则
把所有的属性藏起来
package net.javagroup.research.powerproject;
部门名.项目名
11/41
用MyEclipse创建包
JDK提供基本包
java.lang:虚拟机自动引入 java.util:提供一些实用类 java.io:输入、输出
使用MyEclipse创建包的两种方法
分别创建包和类 创建类的过程中创建类所在的包
12/41
如何导入包
为了使用不在同一包中的类,需要在Java程序中使用 import关键字导入这个类
语法
import 包名. 类名;
import java.util.*; //导入java.util包中所有类 import cn.jtest.classandobject.School; //导入指定包中指定类
类成员的访问修饰
作用域 修饰符 private 默认修饰符
protected
public
同一个类中 同一个包中
子类中
可以
不可以
不可以
可以
可以
不可以
可以
可以
可以
可以
可以
可以
任何地方 不可以 不可以 不可以 可以
18/41
static修饰符
static可以用来修饰
成员变量
静态变量,可以直接通过类名访问
public void showMessage() { ……
} }
package demo; //im//添添po加加rt 代代cn码码.jb23it.classandobject.*; public class Hello {
public static void main(String[ ] args) { School center = new School();
使用包
package
包对应Java源文件的目录结构
8/41
包的作用
允许类组成较小的单元(类似 文件夹),易于找到和使用相
应的文件
有助于实施访问 权限控制
防止命名冲突 区分名字相同的类
9/41
如何创建包
package cn.jbit.inherit; //声明包 public class School {
}
StaticTest st1=new StaticTest(); StaticTest st2=new StaticTest(); System.out.println(StaticTest.num);
20/41
static变量
package必须位于第一行(忽略注释行) 只允许有一个package语句 其次是import 接着是类的声明
14/41
小结
School类位于cn.jbit.classandobject包中,Hello 类位于demo包中,下面程序空缺部分需要填入代码 吗?如果需要,是什么?
/p/a添ck加ag代e c码n.j1bit.classandobject; public class School {
center.showMessage(); }
}
15/41
访问权限控制 回顾
属性隐藏 包机制
访问权限控制
类的访问控制 类成员的访问控制
16/41
类的访问修饰
类的访问修饰符
public修饰符:公有访问级别 默认修饰符:包级私有访问级别
包1
包2
public类
默认无修饰符类
17/41
相关文档
最新文档