有java背景的人,很清楚java是如何定义构造方法以及继承的。在scala里面,继承和java有些相似。但是构造方法的定义,就不大一样了,应该说是差别还是很大的。在java里面,定义构造方法,就是定义一个没有返回值类型的与类同名的方法。

如下:

 1 package com.shihuc;
 2 
 3 public class Person  
 4 {  
 5     private String lastName; //
 6     private String firstName; //
 7     private Person spouse; //配偶的Person对象  
 8     public Person(String fn, String ln, Person s)  
 9     {  
10         lastName = ln; firstName = fn; spouse = s;  
11     }  
12     public Person(String fn, String ln)  
13     {  
14         this(fn, ln, null); //未婚时没有配偶  
15     }  
16     public String getFirstName()  
17     {  
18         return firstName;  
19     }  
20     public String getLastName()  
21     {  
22         return lastName;  
23     }  
24     public Person getSpouse()  
25     {  
26         return spouse;  
27     }  
28     public void setSpouse(Person p)  
29     {  
30         spouse = p;  
31     }  
32     public String introduction()  
33     {  
34         return "我的名字是," + firstName + " " + lastName +  
35                 (spouse != null ?  
36                         " 对方的名字是," + spouse.firstName + " " + spouse.lastName + " 。" :  
37                         " 。");  
38     }  
39 }  
View Code

相关文章: