形式参数
1.基本数据类型
2.引用数据类型
1.类:当类作为方法形式参数的时候,实际上需要的是该类的对象
2.抽象类:当抽象类作为方法形式参数的时候,实际上需要的是该抽象类具体子类的对象。
3.接口:当接口作为方法形式参数的时候,实际上需要的是该接口具体实现的类。
具体代码表示
1.类
class Student{
public void show(){
System.out.println("我是学生");
}
}
class Student2{
public void show2(Student student){//Student student = new Student();
student.show();
}
}
public class XingCan {
public static void main(String[] args) {
Student2 student2 = new Student2();
Student s1 = new Student();
student2.show2(s1);
}
}
2.抽象类
abstract class School{
public void show(){
System.out.println("我是学校,我提供学习场所");
}
}
class Demo extends School{
}
class SchoolDemo{
public void show2(School school){
school.show();
}
}
public class XingCan1 {
public static void main(String[] args) {
SchoolDemo sd = new SchoolDemo();
// School s = new School();//java: data.lh.pro.day14.School是抽象的; 无法实例化
// SchoolDemo.show(s);
Demo d = new Demo();
sd.show2(d);
}
}
3.接口
interface Demo2{
public abstract void show();
}
class Student3 implements Demo2{
@Override
public void show() {
System.out.println("这是学生类3号实现了接口Demo2");
}
}
class Student4{
public void show2(Demo2 demo){
demo.show();
}
}
public interface XingCan2 {
public static void main(String[] args) {
Student4 s4 = new Student4();
// Demo2 d2 = new Demo2();//java: data.lh.pro.day14.Demo2是抽象的; 无法实例化
// s4.show2(d2);
Student3 s3 = new Student3();
s4.show2(s3);
}
}