返回型別是引用型別的幾種情況
阿新 • • 發佈:2019-01-09
/* 返回值型別 基本型別:(基本型別太簡單,我不準備講解) 引用型別: 類:返回的是該類的物件 抽象類:返回的是該抽象類的子類物件 介面: */ abstract class Person { public abstract void study(); } class PersonDemo { public Person getPerson() { //Person p = new Student(); //return p; return new Student(); } } class Student extends Person { public void study() { System.out.println("Good Good Study,Day Day Up"); } } class PersonTest2 { public static void main(String[] args) { //需求:我要測試Person類中的study()方法 PersonDemo pd = new PersonDemo(); Person p = pd.getPerson(); //new Student(); Person p = new Student(); 多型 p.study(); } }
/* 形式引數: 基本型別(太簡單,不是我今天要講解的) 引用型別 類名:(匿名物件的時候其實我們已經講過了) 需要的是該類的物件 抽象類: 介面 */ class Student { public void study() { System.out.println("Good Good Study,Day Day Up"); } } class StudentDemo { public void method(Student s) { //ss; ss = new Student(); Student s = new Student(); s.study(); } } class StudentTest { public static void main(String[] args) { //需求:我要測試Student類的study()方法 Student s = new Student(); s.study(); System.out.println("----------------"); //需求2:我要測試StudentDemo類中的method()方法 StudentDemo sd = new StudentDemo(); Student ss = new Student(); sd.method(ss); System.out.println("----------------"); //匿名物件用法 new StudentDemo().method(new Student()); } }
/* 返回值型別 基本型別:(基本型別太簡單,我不準備講解) 引用型別: 類:返回的是該類的物件 抽象類: 介面: */ class Student { public void study() { System.out.println("Good Good Study,Day Day Up"); } } class StudentDemo { public Student getStudent() { //Student s = new Student(); //Student ss = s; //Student s = new Student(); //return s; return new Student(); } } class StudentTest2 { public static void main(String[] args) { //需求:我要使用Student類中的study()方法 //但是,這一次我的要求是,不要直接建立Student的物件 //讓你使用StudentDemo幫你建立物件 StudentDemo sd = new StudentDemo(); Student s = sd.getStudent(); //new Student(); Student s = new Student(); s.study(); } }
/*
形式引數:
基本型別(太簡單,不是我今天要講解的)
引用型別
類名:(匿名物件的時候其實我們已經講過了)需要的是該類的物件
抽象類:需要的是該抽象的類子類物件
介面:需要的是該介面的實現類物件
*/
//定義一個愛好的介面
interface Love {
public abstract void love();
}
class LoveDemo {
public void method(Love l) { //l; l = new Teacher(); Love l = new Teacher(); 多型
l.love();
}
}
//定義具體類實現介面
class Teacher implements Love {
public void love() {
System.out.println("老師愛學生,愛Java,愛林青霞");
}
}
class TeacherTest {
public static void main(String[] args) {
//需求:我要測試LoveDemo類中的love()方法
LoveDemo ld = new LoveDemo();
Love l = new Teacher();
ld.method(l);
}
}