类 与 对象Classes and Objects

对象 与 属性Objects and Properties

开放设计题

如果让你设计一个表达 类似 1/2 这样的分数

你觉得 它应该有哪些属性,分别是什么类型的

开放设计题

如果让你设计一个 二维坐标系下的 点

你觉得 它应该有哪些属性,分别是什么类型的

Getters and SettersAccessors and Mutators

分析题

下面 Some 类的代码中 Setter 并没有按快捷键生成,而是人工敲进去的

然而敲进去的代码中有一点点细微的失误

请你找出失误,并找出基于现在的代码,高亮部分运行的结果是什么

Some.java

1 2 3 4 5 6 7 8 9
public class Some { private int possession; public int getPossession() { return possession; } public void setPossession(int possesion){ this.possession = possession; }}

Main.java

1 2 3 4 5 6 7 8 9 10
public class Main { public static void main(String[] args) { new Main().run(); } public void run(){ Some some = new Some(); some.setPossession(2); Console.println(some.getPossession()); }}
答案
细微的失误

Some.java

1 2 3 4 5 6 7 8 9
public class Some { private int possession; public int getPossession() { return possession; } public void setPossession(int possesion){ this.possession = possession; }}

参数名字 少了一个 s

从而导致 Line 7 加不加 this 都是属性

运行结果

会看到 0

属性设置 常用版型

分析题

下面代码运行的结果是什么

Cla.java

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
public class Cla { private int value = 1; public Cla() { value = 2; } public Cla(int value) { this.value = value; } public void setValue(int value) { this.value = value; } public void getValue() { return value; }}

Main.java

1 2 3 4 5 6 7 8 9 10 11 12 13 14
public class Main { public static void main(String[] args) { new Main().run(); } public void run(){ Cla obj1 = new Cla(); Console.println(obj1.getValue()); Cla obj2 = new Cla(3); Console.println(obj2.getValue()); obj1.setValue(4); Console.println(obj1.getValue()); Console.println(obj2.getValue()); }}
答案
2
3
4
3

综合练习

这个章节的视频都看完了以后再做

代码题

Fraction 基础版

Q35 E01

Point 基础版

Q36 E01

账户管理 基础版

Q62 E01

ZZAX 微信公众

文档一更新,立刻告诉你