java在dog中定义name变量,组合构造 冯跃峰 java中组合的应用(不相干的类共同完成一个功能)+构造器回顾...
java中組合的應用(不相干的類共同完成一個功能)+構造器回顧:今天我們了解到java的組合。可以說java組合是非常的重要的。可以對類進行封裝,將底層的內容封裝起來。甚至于java的繼承都沒有其重要。
照我的理解java的組合就是將互不相干的兩個類進行組合。通過調用一個類的實例對象進行操作,下面看一個例子。
首先定義一個Person類。Person類中包含了Person的相關屬性和方法;之后再定義一個Dog類,可以看到Dog類中包含了Dog的屬性和一個Person p;此時的Person
p就是類似于基本類型的操作了。如int a;只不過類型是Person類類型。初始值是null。并且沒有賦值的情況下是不能調用Person類的方法的或者屬性。寫一個測試類對其進行測試。
在Dog類的方法show1();中給Person 類型的p賦值。此時調用了一個無參的構造器對其賦值。p這個變量就有值了。之后就用p調用Person中的方法show();系統不會報錯的。其中給Person類進行賦值的方法是很多種的。如調用構造器;今天又知道了一種。首先在Dog類中定義一個Person 類型的name;之后定義個Dog含參的構造器
Dog (Person name) {
this.name = name;
}
在main方法內進行Perso類的實例化。
Person name = new Person();
Dog d = new Dog(name.name);
d.dog();
將實例化的變量賦值到Dog內的含有Person類的含參構造器。
法 三:可以設置set 和Get方法對Person進行賦值。public class Person {int age;String name;public void show () {System.out.println("Person類執行了");}}public class Dog {String dogname;int dogage = 20;Person p;public void show1 () {p = new Person();p.show();}}public class Test {public static void main(String[] args) {Dog d = new Dog();d.show1();}}知道了java的組合就可以寫一些復雜的項目了。如下圖所示,我抽象出的類在最左邊。在運行時,只有將Studnet實例化一個對象調用S();方法就可以完成整個程序的運行。
總結
以上是生活随笔為你收集整理的java在dog中定义name变量,组合构造 冯跃峰 java中组合的应用(不相干的类共同完成一个功能)+构造器回顾...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Crfe php,新版中国菜刀(2014
- 下一篇: java异常统一处理,Controlle