Java-18方法的参数和返回

方法的参数和返回

类名作为参数

package lulux.fangfacanshufanhuizhi;

import sample.day9.gouzaohanshu.StudentDemo;

class Student {
    public void study(){
        System.out.println("好好学习,天天向上");
    }
}

class Students1{
    public void study(){
        System.out.println("123345");
    }
}

class studentDemo{
    //形式参数为对象
    public void method(Student s){
        s.study();
    }
}
public class Demo1 {
    public static void main(String[] args) {
        Student s = new Student();
        studentDemo sd = new studentDemo();
        sd.method(s);
    }
}

抽象类作为参数

abstract class Person{
	public abstract void study();
}

class Teacher extends Person{

	@Override
	public void study() {
		System.out.println("好好学习,天天向上!");
	}
	
}

class PersonDemo{
	
	//如果方法的参数为抽象类
	//我们需要传入该抽象类的子类对象
	public void method(Person p) {//Person p=0x001
		p.study();
	}
	
}


public class Demo02 {

	public static void main(String[] args) {
		
		//多态  向上转型
		//Person person=new Teacher();//0x001
		
		Teacher teacher=new Teacher();//0x001
		
		//我们可以提前向上转型,也可以在传参的时候向上转型
		
		PersonDemo personDemo=new PersonDemo();
		//personDemo.method(teacher);//0x001
		
		personDemo.method(new Teacher());
	}	
}

接口作为参数

interface Love{
	public void love();
}


class LoveDemo{
	
	//形式参数为接口,传入的是接口的实现类对象
	public void method(Love l) {
		l.love();
	}
	
}

class Employee implements Love{

	@Override
	public void love() {
		
		System.out.println("员工爱赚钱!");
		
	}
	
}


public class Demo03 {
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		

		Love l=new Employee();
		
		new LoveDemo().method(l);
		
		new LoveDemo().method(new Employee());
		
	}
}

类名作为方法的返回值

如果类名作为返回值,返回该类创建的对象的内存地址

class Student{

	public void study() {
		System.out.println("好好学习,天天向上!");
	}
	
}

class StudentDemo{

	//如果类名作为返回值,返回该类创建的对象的内存地址
	public Student getStudent() {
		//Student s=new Student();
		//return s;
		return new Student();
	}
	
}




public class StudentTest {
	
	
	public static void main(String[] args) {
		
		StudentDemo demo=new StudentDemo();
		
		Student s=demo.getStudent();
		s.study();
	}

}

抽象类作为方法的返回值类型

如果抽象类作为方法的返回值 返回的是该抽象类的子类对象的内存地址

abstract class Person{
	public abstract void study();
}

class Teacher extends Person{

	@Override
	public void study() {
		System.out.println("好好学习,天天向上!");
	}
	
}

class PersonDemo{
	
	//如果抽象类作为方法的返回值  返回的是该抽象类的子类对象的内存地址
	public Person getPerson() {
		//Person p=new Teacher();
		return new Teacher();
	}
	
}


public class Demo02 {

	public static void main(String[] args) {
		
		Person p=new PersonDemo().getPerson();
		p.study();
	}
}

接口作为方法的返回值类型

如果接口作为方法的返回值,返回的是该接口的实现类对象

interface Love{
	public void love();
}


class Employee implements Love{

	@Override
	public void love() {
		
		System.out.println("员工爱赚钱!");
		
	}
	
}

class LoveDemo{
	
	//如果接口作为方法的返回值,返回的是该接口的实现类对象
	public Love getLove() {
		
		//Love l=new Employee();
		//return l;
		return new Employee();
	}
	
}




public class Demo03 {
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		
		Love love = new LoveDemo().getLove();
		
		love.love();	
		
	}

}

常见的修饰符特点

修饰符:
      权限修饰符    private  默认的   protected  public
      状态修饰符    static   final
      抽象修饰符    abstract
      
      
类:
      权限修饰符     默认的   public
      状态修饰符     final
      抽象修饰符     abstract
     
      用的最多的是  public
      
成员变量:
       权限修饰符    private  默认的   protected public
       状态修饰符    static   final
      
       用的最多的是   private
      
 成员方法:
        权限修饰符    private  默认的   protected public
        状态修饰符    static   final
        抽象修饰符    abstract
        
        用的最多的是 public
        
 构造方法:
        权限修饰符    private  默认的   protected public
        用的最多的是  public
        
        组成规则
        组成变量   public static final
        成员方法   public static
                  public abstarct
                  public final 
        
      

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹿鹿熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值