您的位置:首页 > 其它

面向对象之形式参数与返回值问题

2015-07-12 22:39 369 查看
1.形式参数为类名时:需要的是该类的对象
程序代码如下:
1: class Student {


2:     public void study() {


3:         System.out.println("Good Good Study,Day Day Up");


4:     }


5: }


6: 


7: class StudentDemo {


8:     public void method(Student s) { //ss; ss = new Student();  Student s = new Student();


9:         s.study();


10:     }


11: }


12: 


13: class StudentTest {


14:     public static void main(String[] args) {


15:         //需求:我要测试Student类的study()方法


16:         Student s = new Student();


17:         s.study();


18:         System.out.println("----------------");


19:


20:         //需求2:我要测试StudentDemo类中的method()方法


21:         StudentDemo sd = new StudentDemo();


22:         Student ss = new Student();


23:         sd.method(ss);


24:         System.out.println("----------------");


25:


26:         //匿名对象用法


27:         new StudentDemo().method(new Student());


28:     }


29: }


2.形式参数为抽象类时:需要的是该抽象的类子类对象

程序代码如下:

1: abstract class Person {


2:     public abstract void study();


3: }


4: 


5: class PersonDemo {


6:     public void method(Person p) {//p; p = new Student();  Person p = new Student(); //多态


7:         p.study();


8:     }


9: }


10: 


11: //定义一个具体的学生类


12: class Student extends Person {


13:     public void study() {


14:         System.out.println("Good Good Study,Day Day Up");


15:     }


16: }


17: 


18: class PersonTest {


19:     public static void main(String[] args) {


20:         //需求:我要使用PersonDemo类中的method()方法


21:         PersonDemo pd = new PersonDemo();


22:         Person p = new Student();


23:         pd.method(p);


24:     }


25: }


3.形式参数为接口名时:需要该接口的实现类对象

程序代码如下:

1: //定义一个爱好的接口


2: interface Love {


3:     public abstract void love();


4: }


5: 


6: class LoveDemo {


7:     public void method(Love l) { //l; l = new Teacher();  Love l = new Teacher(); 多态


8:         l.love();


9:     }


10: }


11: 


12: //定义具体类实现接口


13: class Teacher implements Love {


14:     public void love() {


15:         System.out.println("老师爱学生,爱Java,爱林青霞");


16:     }


17: }


18: 


19: class TeacherTest {


20:     public static void main(String[] args) {


21:         //需求:我要测试LoveDemo类中的love()方法


22:         LoveDemo ld = new LoveDemo();


23:         Love l = new Teacher();


24:         ld.method(l);


25:     }


26: }


4.返回值类型为类名时:返回的是该类的对象

程序代码如下:

1: class Student {


2:     public void study() {


3:         System.out.println("Good Good Study,Day Day Up");


4:     }


5: }


6: 


7: class StudentDemo {


8:     public Student getStudent() {


9:         //Student s = new Student();


10:         //Student ss = s;


11:


12:         //Student s = new Student();


13:         //return s;


14:         return new Student();


15:     }


16: }


17: 


18: class StudentTest2 {


19:     public static void main(String[] args) {


20:         //需求:我要使用Student类中的study()方法


21:         //但是,这一次我的要求是,不要直接创建Student的对象


22:         //让你使用StudentDemo帮你创建对象


23:         StudentDemo sd = new StudentDemo();


24:         Student s = sd.getStudent(); //new Student(); Student s = new Student();


25:s.study();


26:     }


27: }


5.返回值类型为抽象类名时:返回的是该类的子类对象

程序代码如下:

1: abstract class Person {


2:     public abstract void study();


3: }


4: 


5: class PersonDemo {


6:     public Person getPerson() {


7:         //Person p = new Student();


8:         //return p;


9:


10:         return new Student();


11:     }


12: }


13: 


14: class Student extends Person {


15:     public void study() {


16:         System.out.println("Good Good Study,Day Day Up");


17:     }


18: }


19: 


20: class PersonTest2 {


21:     public static void main(String[] args) {


22:         //需求:我要测试Person类中的study()方法


23:         PersonDemo pd = new PersonDemo();


24:         Person p = pd.getPerson(); //new Student();  Person p = new Student(); 多态


25:p.study();


26:     }


27: }


6.返回值类型为接口名时:返回的是该接口的实现类的对象

程序代码如下:

1: //定义一个爱好的接口


2: interface Love {


3:     public abstract void love();


4: }


5: 


6: class LoveDemo {


7:     public Love getLove() {


8:         //Love l = new Teacher();


9://return l;


10:


11:return new Teacher();


12:     }


13: }


14: 


15: //定义具体类实现接口


16: class Teacher implements Love {


17:     public void love() {


18:         System.out.println("老师爱学生,爱Java,爱林青霞");


19:     }


20: }


21: 


22: class TeacherTest2 {


23:     public static void main(String[] args) {


24:         //如何测试呢?


25:LoveDemo ld = new LoveDemo();


26:         Love l = ld.getLove(); //new Teacher(); Love l = new Teacher(); 多态


27:         l.love();


28:     }


29: }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: