1.形式参数;
基本数据类型:实际传递的是当前这个数据值!
引用数据类型:
数组:需要传递数组对象
类:具体类:传递的是当前类的对象
抽象数据类型:
传递的是当前抽象类的子类对象(抽象多态)
接口数据类型:
传递的是当前接口类的子实现类对象(接口多态)
class Demo{
public int add(int a,int b){ //形式参数:基本数据类型
return a + b;
}
}
//学生类
class Student{
public void study(){
System.out.println("学习JavaSE");
}
}
class StudentDemo{
public void method(Student s){ //形式参数:引用类型: 具体类---传递的当前类的对象!
s.study();
}
}
public class ArgsDemo {
public static void main(String[] args) {
//创建Demo类对象
Demo d = new Demo() ;
int result = d.add(10, 20);
System.out.println(result);
System.out.println("------------------------");
//访问的StudentDemo类中method方法
StudentDemo studentDemo = new StudentDemo() ;
Student s = new Student() ;
studentDemo.method(s) ;
//studentDemo.method(new Student());
System.out.println("------------------------");
new StudentDemo().method(new Student());
}
}
2.返回值问题
方法的返回值类型:
1)基本数据类型:返回当前基本数据类型即可;
2)引用数据类型:
① 具体类;返回具体类的对象;
②抽象类:返回该抽象类子类的对象;
③接口 :返回该接口的子实现类对象
3.修饰符权限比较
当前类的同一个包下 | 不同类/相同包 | 相同类/不同包 | 不同类/不同包 | |
---|---|---|---|---|
public | Y | Y | Y | Y |
默认修饰符 | Y | Y | ||
protected | Y | Y | Y | |
private | Y |