类 与 对象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