Java有哪些作用
很多朋友想知道Java有什么作用,下面就让我们来看看吧。
JAVA是一个扩展程序,不仅可以对电脑的配置进行更新换代,还可以同步更新软件,运用新的功能也不会出现问题,简单来说,Java程序可以用来开发能在任何计算平台上运行的应用软件。它根本上是一种非常基本且结构细腻的技术,而它对WorldWide Web以及商业的总体影响已可与电子表格对PC机的影响相比拟。
Java介绍
Java是一门面向对象编程语言,Java语言集合了C++的优点,丢弃了缺点,所以Java语言表现的功能强大而简单易用。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,让程序员能够以清晰的思维方式进行复杂的编程。
java工程师的工作内容
1、负责客户端软件产品中服务器后端的工程设计,架构设计以及开发工作;
2、根据项目任务计划按时完成软件编码和单元测试工作;
3、按照开发流程编写相应模块的设计文档等。
java中this的作用有哪些
JAVA中的this是什么意思? —— 初学java常见问题
前言在之前讲解构造方法的时候,我给大家提到过一个this关键字,但之前讲解得并不很细致。所以今天我们再利用一篇文章,专门讲解这个this关键字,我们好好探究一下它到底有哪些细节。
全文大约【2400】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富的案例及配图,让你更好地理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考
一. this关键字 1. 简介我们知道,this是”这个“的意思。在java中表示当前类的对象,可以理解成指向对象本身的一个指针。通俗地说就是表示当前类对象”自己“,它是在对象被创建时自动产生的。我们使用this,可以用来调用本类的属性、方法、构造方法。当我们在构造方法中使用this时,this表示的是当前类的成员变量。
2. 作用根据上面的简介,我们可以提取出this关键字的几个核心作用:
● 表示当前类对象;
● 调用当前类中的属性;
● 调用当前类的方法或构造方法。
二. 代码案例接下来分别针对以上几种情况,给大家设计几个案例进行讲解。
1. 代表当前类对象所谓代表当前类对象,就是指当我们创建一个类对象时,比如Person p=new Person()
p就是一个类对象,我们可以通过p.属性或p.方法的形式来进行调用。但如果我们是在Person类里面调用Person的属性或方法,其实可以直接使用this来替代当前的对象,即this.属性或this.方法。这里的this,就是当前类对象!
另外一个更常用的场景是在接口回调中。比如某个类的构造方法带有一个接口类型的参数,当前类又实现了该接口,当我们在当前类中调用这个构造方法时,就可以直接传递this作为参数。参考下面的Person代码:
public class Person implements Sport { // 姓名 public String name; // 年龄 private int age; //定义带有3个参数的构造方法,第3个参数是自定义的Sport接口类型 public Person(String name, int age, Sport sport) { System.out.println("我的名字是:" name ",年龄:" age); sport.pingpang(); } @Override public void pingpang() { System.out.println("我会打乒乓球"); } // 才艺展示 public void show() { //这里的第3个参数,我们就可以直接用this作为参数,代表当前类对象!!! Person p = new Person("张继科", 30, this); }}
Sport接口代码参考如下:
public interface Sport { //打乒乓球 void pingpang();}
在上面的Person类中,我们定义了带有3个参数的构造方法,其中第3个参数是自定义的Sport接口类型。在show()方法中,我们调用Person的构造方法,当传递第3个参数时,就可以直接用this作为参数传递进去。因为Person类实现了Sport接口,所以Person类也就属于Sport类型,符合第3个参数的类型要求。因为this表示当前类对象,所以我们可以直接用this作为参数。
当然,这里涉及到了接口的概念和用法,我们还没有学习到。大家先别急,后面会专门给大家讲解接口,可以先关注一波,后续实时更新!本案例只是先供大家参考
调用类中的属性大多数时候,一般的普通方法访问其他方法、成员变量时不必使用this关键字。但如果方法的形参与类中属性的名称相同,我们可以通过“this.属性名”的形式进行区分。
public class Student { private String name; private int age; private String sex; public Student(String name, String sex, int age) { //方法的形参与属性名相同,可以通过“this.属性名”的形式进行区分 this.name = name; this.sex = sex; this.age = age; } public static void main(String[] args) { Student stu=new Student("一一哥", "男", 35); System.out.println("name=" stu.name ",sex=" stu.sex ",age=" stu.age); }}
在上面的代码中,name、age、sex都是被private修饰的,因此我们不能在类的外部进行直接设置。为了解决这个问题,我们可以给Student类添加一个构造方法,然后在构造方法中传递参数进行修改。我们在 Student类的构造方法中使用this关键字调用name、age 和 sex属性,以此区分方法的形参。这里的this就表示当前对象,this.name=name语句是一个赋值语句。等号左边的this.name是当前对象的成员变量name,等号右边的name表示方法形参接收的数值。
3. 调用类中的方法this关键字的另一个作用,就是让类中一个方法,访问该类里的另一个方法。
public class Computer { // 电脑品牌 private String logo; // 播放音频 public void playSound() { System.out.println("播放音频..."); } // 播放视频 public void playVideo() { // 同时播放音频 this.playSound(); System.out.println("播放视频..."); } public static void main(String[] args) { //静态方法中不能使用非静态成员 //this.playVideo(); Computer com=new Computer(); com.playVideo(); }}
在上面的代码中,我们在playVideo()方法中调用了playSound()方法,此时就可以通过”this.方法名“的形式进行调用。因为this可以代表任何对象,当this出现在某个方法体中,它所代表的对象是不确定的,但它的类型是确定的,它代表的就是当前类的实例对象。只有当这个方法被调用时,它所代表的对象才被确定下来,谁在调用这个方法,this 就代表谁。
但是我们不能在带有static关键词的方法中通过this.属性名或this.方法名来引用,这是因为Java语法有规定,静态成员不能直接访问非静态成员。在后面学习static关键字时,会再给大家详细讲解这一点!可以先关注一波~~
public class Computer { // 电脑品牌 private String logo; // 电脑颜色 private String color; //无参构造方法 public Computer() { // this(a,b)调用另一个构造方法 this(null, null); } //1个参数的构造方法 public Computer(String logo) { // this(a,b)调用另一个构造方法 this(logo, null); } //2个参数的构造方法 public Computer(String logo, String color) { System.out.println("logo=" logo ",color=" color); } public static void main(String[] args) { Computer com=new Computer("苹果"); }}
大家注意,this()格式不能在普通方法中使用,只能在构造方法中使用。而且在构造方法中使用时,必须放在第一条语句!
三. 结语
至此就给大家把this关键字讲解完毕了,现在你知道this的作用了吗?对于我们来说,掌握this的3个核心作用即可:
● 表示当前类对象;
● 调用当前类中的属性;
● 调用当前类的方法或构造方法。
以后我们还会学习另一个super关键字,这个关键字和this的用法很类似,可能会让初学者有点迷糊,后面会给大家再额外讲解super,敬请期待哦!
往期推荐:
关注get更多IT知识
推荐
- 1cf手游跳跳乐钟楼怎么快速过关357
- 2苹果手机怎么屏蔽微信消息通知156
- 3基金会计年终工作总结范文198
- 4ocp可以一次性考三科吗304
- 5如何下载淘宝商品页面中的视频?354
- 6菜放冰箱要不要保鲜膜245