yield关键字与this关键字的总结

本文详细介绍了Java中的yield关键字和this关键字。yield作为JDK13的新特性,主要用于程序的局部返回,简化switch语句。而this关键字在Java中有着多重含义,包括调用成员属性、普通方法以及表示当前对象。文章通过实例展示了this如何在不同场景下使用,如构造方法的互调用,并强调了使用this()调用构造方法时需要注意的规则。
摘要由CSDN通过智能技术生成

yield关键字

  • yield的是JDK13后的一个新特性,它主要的作用是进行程序的局部返回,目前主要和switch语句相结合使用,下面通过案例来进行比较
public class YootkDemo{
   
    public static void mainP(String[] ages){
   
        String name="Andy";
        int age=0;
        switch(name){
   
            case "浩鑫": age=18; breck;
            case "Andy": age=25; breck;
            default:age=0;breck;
        }
        System.out.println(age);
        
    }
}
//程序执行结果为:25
  • 以上是我们传统的做法,通过switch语句对变量name进行匹配,返回一个age的值,再对age进行赋值。这样的做法太过啰嗦,如果可以直接对age进行赋值,那就能更好提高程序的效率,下面我们使用yield关键字来实现案例
public class YootkDemo03 {
   
	public static void main(String args[])
	{
   
    	String name ="Andy";
       int age=switch(name){
   
    		case "浩鑫":yield 18;
    		
    		case "Andy" :yield 25;
    		 
    		default :yield 0;
    		 	
};
       System.out.println(age);
	}
}
//程序执行结果为:25
  • 其实,对于yield关键字,我们现在并没有完全的应用起来,随着JDK版本的更新,相信yield会有更多的应用。

this关键字

  • this关键字是Java开发里面一个较为繁琐的关键字,因为在程序开发使用中较为灵活,他可以根据不同的环境进行改变,使用this关键字可以描述以下三种含义
    1. 成员属性
    2. 方法(普通方法、构造方法)
    3. 表示当前对象

this调用成员属性

  • 在类定义中,成员属性是可以互相调用的,例如:某一个属性被构造方法调用同时,可以被普通方法所调用

    范例:

    class Book{
         
    	 private String author;
    	 private String title;
    	 private double price;
    	 public Book(String a,String t,double p){
         
    	 	 author=a;
    	 	 title=t;
    	 	 price=p;
    	 }
    
    	public void setAuthor(String a){
         
    		author=a;
    	}
    	public void setTitle(String t){
         
    		title=t;
    	}
    	public void setprice(double p){
         
    		price=p;
    	}
    	public String getAuthor(){
         
    		return author;
    	}
    	public String getTitle(){
         
    		return title;
    	}
    	public double getPrice(){
         
    		return price;
    	}
    	public void getInfo(){
         
    		System.out.print("图书的作者为:"+author+" 图书的名称为:"+title+" 图书的价格为:"+price);
    	}
    }
    
    public class YootkDemo07{
         
    
    public static void main (String[] ages){
         
    	Book book=new Book("Andy鑫","地下城",99.8);
    	book.getInfo();
    
    }
    }
    //程序执行结果为:
       // 图书的作者为:Andy鑫 图书的名称为:地下城 图书的价格为:99.8
    

    在以上的程序中,我们使用了程序的三参构造方法,以字母a、t、p、来定义参数的名称,但单字母所要表达的意思太多,无法起到对程序“见名知意”的作用,此时我们的想法是想把传进来的三个参数 author title price 赋值给本类中的 author title price,切记,不可使用以下的做法

    	 public Book(String author,String title,double price){
         
    	 	 author=author;
    	 	 title=title;
    	 	 price=price;
    	 }
    

    这样的语法是没有任何意义的,此时,我们就可以使用this关键字

    class Book{
         
    	 private String author;
    	 private String title;
    	 private double price;
    	 public Book(String author,String title,double price){
         
    	 	 this.author=author;
    	 	 this.title=title;
    	 	 this.price=price;
    	 }
    
    	public void setAuthor(String author)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值