Java中方法的形式参数与返回值
Java 形式参数可以是基本数据类型、类、抽象类、接口。
1. 形式参数是基本数据类型,调用数传入基本数据类型。代码如下:
class Demo{
public void add(int a,int b) {
int c=a+b;
System.out.println(c);
}
}
public class Test3 {
public static void main(String[] args) {
Demo d=new Demo();
int a=10;
int b=20;
d.add(a, b);
}
}
2.形式参数是类对象,需要在调用时创建类对象。代码如下
class A{
public void method() {
System.out.println("aaaa");
}
}
class B{
public void show(A a)
{
a.method();
}
}
public class Test3 {
public static void main(String[] args) {
B b=new B();
A a=new A();
b.show(a);
}
}
3. 形式参数是抽象类,需要创建匿名内部类。代码如下
abstract class A{
public abstract void show();
}
class B{
public void method(A a) {
a.show();
}
}
public class Test3 {
public static void main(String[] args) {
A a=new A() {
public void show() {
System.out.println("cccc");
}
};
B b=new B();
b.method(a);
}
}
4.形式参数是接口,需要创建匿名内部类代码如下:
interface A{
public abstract void show();
}
class B{
public void method(A a) {
a.show();
}
}
public class Test3 {
public static void main(String[] args) {
A a=new A() {
public void show() {
System.out.println(" love Java ");
}
};
B b=new B();
b.method(a);
}
}
Java中的返回只可以为基本数据类型、类对象、抽象类、接口。
1、返回值为基本数据类型时 ,直接返回即可。代码如下:
import java.util.Scanner;
class Demo{
public int add(int a,int b) {
int c=a+b;
return c;
}
}
public class Test3 {
public static void main(String[] args) {
Demo d=new Demo();
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个数");
int a =sc.nextInt();
System.out.println("请输入第二个数");
int b=sc.nextInt();
int c=d.add(a, b);
System.out.println("两数之和"+c);
}
}
2、方法返回是一个引用类型:具体类。代码如下
class A{
public void show()
{
System.out.println("dddd");
}
}
class B{
public A method() {
A a =new A();
return a;
}
}
public class Test3{
public static void main(String[] args) {
B b=new B();
b.method().show();
}
}
3、方法返回值为抽象类,返回匿名内部类对象。代码如下
abstract class A{
public abstract void show();
}
class B{
public A method() {
return new A() {
public void show() {
System.out.println("qqqqq");
}
};
}
}
public class Test3{
public static void main(String[] args) {
B b=new B();
b.method().show();
}
}
4、方法返回值为接口,返回匿名内部类对象。代码如下
interface A{
public abstract void show();
}
class B{
public A method() {
return new A() {
public void show() {
System.out.println("zzzzzzz");
}
};
}
}
public class Test3{
public static void main(String[] args) {
B b=new B();
b.method().show();
}
}