Java最新头歌Java实践作业-Java类和对象之this关键字,java面试框架源码

最后

分享一些系统的面试题,大家可以拿去刷一刷,准备面试涨薪。

这些面试题相对应的技术点:

  • JVM
  • MySQL
  • Mybatis
  • MongoDB
  • Redis
  • Spring
  • Spring boot
  • Spring cloud
  • Kafka
  • RabbitMQ
  • Nginx

大类就是:

  • Java基础
  • 数据结构与算法
  • 并发编程
  • 数据库
  • 设计模式
  • 微服务
  • 消息中间件

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

程序员,每个月给你发多少工资,你才会想老板想的事?

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

执行结果:


李四



当一个类的属性(成员变量)名与访问该属性的方法参数名相同时,则需要使用 this 关键字来访问类中的属性,以区分类的属性和方法中的参数。

this 关键字最大的作用就是让类中一个方法,访问该类里的另一个方法或实例变量。

来看个例子:


public class Demo {  

    public void  KeyBoard(){        

        System.out.println("准备好了键盘");    }    

    // 定义一个方法,该方法需要借助 KeyBoard 方法   

    public void WritingCode(){      

        // 使用this引用run方法     

        this.KeyBoard();       

        System.out.print("我正在敲代码");  

    }   

    public static void main(String[] args) {    

        Demo demo = new Demo();       

        demo.WritingCode();  

    }

}



执行结果:


准备好了键盘我正在敲代码



在现实世界里,对象的一个方法依赖于另一个方法的情形很常见,例如,吃饭方法依赖于拿筷子方法。这种依赖都是同一个对象两个方法之间的依赖。因此,Java 允许对象的一个成员直接调用另一个成员,可以省略 this 前缀。也就是说,将上面的 run( ) 方法改为如下形式也完全正确。


public void run() {   

    jump();    

    System.out.println("正在执行run方法");

}



大部分时候,一个方法访问该类中定义的其他方法、成员变量时,加不加 this 前缀的效果是完全一样的。

需要注意的是,对于 static 修饰的方法而言,可以使用类来直接调用该方法,如果在 static 修饰的方法中使用 this 关键字,则这个关键字就无法指向合适的对象。所以,static 修饰的方法中不能使用 this 引用。并且 Java 语法规定,静态成员不能直接访问非静态成员。

省略 this 前缀只是一种假象,虽然程序员省略了调用 WritingCode() 方法之前的 this,但实际上这个 this 依然是存在的。

this( ) 用来访问本类的构造方法,括号中可以有参数,如果有参数就是调用指定的有参构造方法。

下面定义一个 Student 类,使用 this( ) 调用构造方法给 name 赋值,Student 类的代码如下所示:


public class Student {    

    String name;    

    // 无参构造方法    

    public Student() {      

        this("张三");    

    }    

    // 有参构造方法    

    public Student(String name) {  

        this.name = name;    

    }   

    public static void main(String[] args) {    

        Student stu = new Student();    

        System.out.println(stu.name);   

    }

}



执行结果:


张三



注意:

  • this( ) 不能在普通方法中使用,只能写在构造方法中;

  • 在构造方法中使用时,必须是第一条语句。

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧“测试结果”区查看具体的测试集详情。


开始你的任务吧,祝你成功!


/**

 * 任务:编写一个商品结算的小程序

 * 类名为:Shop

 */



// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码

/********** Begin **********/



public class Shop {

    // 定义该商品的两个属性:价格(double)和数量(int)

	private  double price;

	private int total;



    // 将形参的值赋值给成员变量

    public Shop(double price, int total) {

    	this.price=price;

    	this.total=total;

    }



    // 该方法实现计算价钱的功能,将计算结果返回,价钱 = 价格 * 数量

    public double sum() {

    	return price*total;

    }

}



/********** End **********/






任务描述

本关任务:定义一个完整的学生类,该类定义了学生的基本信息。

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧“测试结果”区查看具体的测试集详情。


总结

无论是哪家公司,都很重视高并发高可用的技术,重视基础,重视JVM。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。

最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。

面试了阿里,滴滴,网易,蚂蚁,最终有幸去了网易【面试题分享】

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。

最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。

[外链图片转存中…(img-Gi91rt7m-1715430542870)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 23
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值