1多類合作
1.1 pc類
屏幕?
?????屏幕可以看做是一個類?
?????成員變量:?
?????品牌?
?????尺寸
鍵盤? ??
????鍵盤也可以看做是一個磊? ??
????成員變量:? ? ? ??
????品牌? ? ? ??
????按鍵個數(shù)
PC電腦類? ??
? ? ?成員變量:? ? ? ?
?????屏幕類對象? ? ? ??
????鍵盤類對象? ??
????成員方法:? ? ? ??
????換屏幕? ? ? ??
????換鍵盤? ? ? ??
????電腦展示配置
1屏幕類的代碼實現(xiàn)
package com.qfen.a;
public class Screen {
private String name;
private float size;
public Screen() {
}
public Screen(String name, float size) {
this.name = name;
this.size = size;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getSize() {
return size;
}
public void setSize(float size) {
this.size = size;
}
}
2鍵盤類代碼實現(xiàn)
package com.qfen.a;
public class Keybord {
private String name;
private int keyCount;
public Keybord() {
}
public Keybord(String name, int keyCount) {
this.name = name;
this.keyCount = keyCount;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getKeyCount() {
return keyCount;
}
public void setKeyCount(int keyCount) {
this.keyCount = keyCount;
}
}
3PC類的代碼實現(xiàn)
package com.qfen.a;
public class PC {
private Screen screen;
private Keybord keybord;
public PC() {}
public PC(Screen screen, Keybord keybord) {
this.screen = screen;
this.keybord = keybord;
}
public Screen getScreen() {
return screen;
}
public void setScreen(Screen screen) {
this.screen = screen;
}
public Keybord getKeybord() {
return keybord;
}
public void setKeybord(Keybord keybord) {
this.keybord = keybord;
}
public void show() {
System.out.println("屏幕品牌: " + screen.getName() + "屏幕尺寸:" + screen.getSize());
System.out.println("鍵盤品牌: " + keybord.getName() + "鍵盤個數(shù):" + keybord.getKeyCount());
}
}
4main方法實現(xiàn)
package com.qfen.a;
public class Demo {
public static void main(String[] args) {
Screen screen = new Screen("三星", 15.6F);
Keybord keybord = new Keybord("雙飛燕", 104);
PC pc = new PC(screen, keybord);
pc.show();
System.out.println("----------------");
Screen screen2 = new Screen("BOE", 24F);
pc.setScreen(screen2);
pc.show();
System.out.println("----------------");
Keybord keybord2 = new Keybord("阿米洛", 87);
pc.setKeybord(keybord2);
pc.show();
}
}
2多類合作
1. 類和對象的操作模式 類是數(shù)據(jù)類型定義 對象是目前操作成員方法燕鸽,操作成員變量的核心
2. 這兩組代碼在main方法中基本上全部是一個面向?qū)ο笏枷? ??
a. 自定義數(shù)據(jù)類型冬骚,自定義類對象盔几,作為方法參數(shù)脊另。? ??
b. 通過類對象來操作代碼方式,所有的內(nèi)容都是和對象相關(guān)
3. 代碼中要什么你給什
3匿名對象
3.1匿名對象的闡述
匿名對象
? ? 么有名字的對象臣镣,沒有對象名的對象
格式:
? ? new 構(gòu)造方法(所需參數(shù))
用途?
? 1提高代碼效率 匿名對象當前行使用之后葵姥,如果沒有其他引用數(shù)據(jù)類型的變量保存其地址,直接銷毀
2簡化代碼結(jié)構(gòu)
3通過匿名對象直接調(diào)用成員方法
4使用匿名對象作為方法的參數(shù)
package com.qfedu.b.anonymous;
class Dog {
String name;
public void sleep() {
System.out.println("小狗睡覺~~~");
}
}
public class Demo1 {
public static void main(String[] args) {
// 常見模式
Dog dog = new Dog();
dog.sleep();
System.out.println("---------------------");
new Dog().sleep();
System.out.println(new Dog());
System.out.println(new Dog());
System.out.println("---------------------");
new Dog().name = "騷杰";
new Dog();
System.out.println(new Dog().name);
System.out.println("---------------------");
Dog dog2 = new Dog();
useDog(dog2);
useDog(new Dog());
}
public static void useDog(Dog dog) {
dog.sleep();
}
}
【總結(jié)】
1匿名對象是為了提高開發(fā)效率窖铡,節(jié)約空間
2匿名對象常用方式
? ? 第一個是直接使用匿名對象調(diào)用成員方法
? ? 第二個是直接使用匿名帝鄉(xiāng)作為方法的參數(shù)
3匿名對象【禁止】使用成員變量
4繼承【重點】
1繼承
?????繼承在開發(fā)中是一種抽象的歸納總結(jié)思想,剝離通用的屬性坊谁,通 用的方法费彼,簡化之后的開發(fā)壓力。只需要在繼承之后呜袁,滿足個性化的 實現(xiàn)即可敌买。 通過繼承可以優(yōu)化代碼简珠,在JavaWEB開發(fā)中阶界,繼承大多數(shù)情況 下虹钮,都是用來提高方法的復用
2java中繼承如何完成
關(guān)鍵字:?
?extends?
格式:?
?class A extends B {
?}?
?A類是B類的一個子類?
?B類是A類的唯一父類?
【Java是一門單繼承語言,一個類有且只能繼承一個父類】
package com.qfedu.c_extends;
class Father {
public int height;
private int testPrivate;
public void game() {
System.out.println("釣魚膘融,象棋~~~");
}
private void privateMethod() {
System.out.println("私有化方法");
}
}
class Son extends Father {
public int age;
public void study() {
System.out.println("子類學習方法\搅弧!氧映!好好學習春畔,天天向上!");
}
}
public class Demo1 {
public static void main(String[] args) {
Father father = new Father();
father.height = 170;
father.game();
System.out.println(father.height);
System.out.println("------------------------------------");
Son son = new Son();
son.age = 16;
son.study();
System.out.println(son.age);
son.height = 172;
son.game();
}
}
3總結(jié)
1. A類使用extends關(guān)鍵字繼承B類 A類是B類的一個子類岛都,B類是A類的唯一父類?
2. 繼承之后律姨,子類可以通過繼承得到父類中非私有化成員變量,和 非私有化成員方法?
3. 繼承之后臼疫,子類不可以通過繼承得到父類中的私有化成員變量择份, 和私有化成員方法。 private修飾的內(nèi)容有且只能在類內(nèi)使用L痰獭荣赶!