- 2
- 0
- 约2.26千字
- 约 34页
- 2019-07-17 发布于辽宁
- 举报
学习情境八 类和对象(二) ;知识目标
理解什么this关键字,如何使用this关键字;
理解什么是类变量和类方法,它们与实例变量、实例方法有什么区别,如何使用它们;
理解什么是常量,如何定义并使用常量;
理解什么是包,包有什么作用;
理解类以及类成员的访问属性。
能力目标
能够正确使用this关键字;
能够正确使用类变量和类方法;
能够正确使用import语句引入包中的类;
能够正确使用public、private、protected和“无修饰符”来修饰类和类的成员。;三个任务;任务一 使用this关键字;public class Circle {
public int x=0; //圆心的x坐标
public int y=0; //圆心的y坐标
private int radius=0; //圆的半径
//构造方法
public Circle( int x, int y, int radius ) {
x = x;
y = y;
radius = radius;
}
…
};public class Circle {
public int x=0; //圆心的x坐标
public int y=0; //圆心的y坐标
private int radius=0; //圆的半径
//构造方法
public Circle( int x, int y, int radius ) {
this.x = x;
this.y = y;
this.radius = radius;
}
…
};2.this和构造方法一起使用;实施任务一;3.给Circle类添加getXxx()和setXxx()方法
可以手工添加getXxx()和setXxx()方法。为了提高工作效率,这个工作可以使用Eclipse的辅助功能来完成。;getXxx()方法
直接返回成员变量,该方法中不要使用this关键字来指明成员变量,因为这些方法中都没有形式参数
返回值的数据类型与成员变量的数据类型一致
setXxx()方法
形式参数与成员变量同名,所以成员变量都使用了this关键字进行限定。
setXxx()方法都没有返回值(void);4.给Circle类添加构造方法;Circle类中有3个构造方法。
这些构造方法分别初始化Circle对象的部分或全部的成员变量。这些构造方法给某些字段提供一个默认的初始值,因为在构造方法中没有使用实际参数给这些字段提供初始值。
例如
无参数的构造方法使用2个数值0和1个数值10来调用有3个参数的构造方法
有1个参数的构造方法也使用2个数值0和1个表示半径的值来调用有3个参数的构造方法;this关键字小结:
如果写成this.x这样形式,表示字段(或成员变量)。这出现在方法或构造方法内部
如果写成方法的形式,如,this(x,y),则表示调用构造方法。这出现在构造方法内部,并且必须处于构造方法的第一行
在类的内部this还可以表示对象。这在Java GUI程序中的事件处理时经常用到(参考“学习情境十三”)
类方法中不能使用this关键字。(参考“任务二”);任务二 定义并使用类变量和类方法;1.类变量;例如:
应用程序要产生一定数量的Circle对象,并且要给每一个对象一个唯一的序列编号ID,从1开始给第一个对象进行编号,以此类推。
这个ID编号对于每一个对象而言是唯一的,并且它应该是一个实例变量。
程序中需要一个字段来记录已经产生的Circle对象的数量,这样就能够给下一个要产生的对象赋值一个ID编号。
这样的字段与各个对象没有关系,它与全体对象所属的类有关,因为即使一个对象都未创建,这个字段也是存在的,它的值为0。因此,Circle类中必须要有一个类变量,numberOfCircles。就像下面:;public class Circle {
private int x=0;
private int y=0;
private int radius=0;
private int id; //圆的编号,实例变量
public static numberOfCircles = 0; //圆的数量,类变量
…
};可以使用Circle类的构造方法来设置实例变量ID的值,并且递增类变量numberOfCircle的值。进一步完善的Circle类代码如下(注意加粗部分)???;;2.类方法;3.类变量、类方法、实例变量、实例方法的结合原则;4.常量;实施任务二;任务三 使用包;1.包的名字;2.把类组织在包中;默认包:
如果一个类对应的代码中没有使用package语句,那么源代码文件必须位于默认包对应的src文件夹下面。
一般情况下不要把类放在默认包中
只有临时创建
您可能关注的文档
- Java程序设计基础第十章 Java数据库连接.ppt
- Java程序设计基础第四章 程序的流程控制.ppt
- Java程序设计基础第五章 面向对象高级特性.ppt
- Java程序设计基础第一章 引言.ppt
- JAVA程序设计简明教程第1章Java语言概述.ppt
- JAVA程序设计简明教程第2章 Java语法基础.ppt
- JAVA程序设计简明教程第3章 Java语言程序控制语句.ppt
- JAVA程序设计简明教程第4章 Java面向对象编程基础.ppt
- JAVA程序设计简明教程第5章 Java面向对象编程进阶.ppt
- JAVA程序设计简明教程第6章 Java的类库.ppt
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
原创力文档

文档评论(0)