java_day6_this关键字、构造方法、static关键字、工具类、文档注释

news/2024/9/24 21:16:25/文章来源:https://www.cnblogs.com/w-ll/p/18429983

一、this关键字

this代表的是调用该方法的当前对象【谁调用了该方法,this就代表那个对象】

    this: 代表的是调用当前方法的对象this可以使用对象中的成员变量,成员方法,构造方法
    变量查找规则:就近原则先在方法中查找变量,若找到就使用若方法中没有该变量,去成员变量的位置上查找
一个标准类的写法2.0版本成员变量:使用private关键字修饰成员方法:针对每一个成员变量都提供getXxx()和setXxx(),其中参数需要见明知意,需要使用this关键字辅助show()方法:展示当前对象的所有成员变量值
public class Student2 {private String name;private int age;private String gender;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public void show() {System.out.println("姓名:" + this.name + ", 年龄:" + this.age + ", 性别:" + this.gender);}
}class Demo2{public static void main(String[] args) {Student2 s1 = new Student2();s1.setName("wll");s1.setAge(18);s1.setGender("男");s1.show();}
}

二、构造方法

构造方法:在一个类中,方法名与类名一致,没有返回值,连void都不能有创建对象的时候,是需要借助构造方法来创建对象的。我们之前写一个类的时候,是没有写过构造方法的,但是呢,我们也可以创建对象我们没有提供,默认的构造方法从哪里来呢?结论:1、jvm在编译一个类的时候,若该类没有自己编写的构造方法的话,会默认提供一个无参,空方法体的构造方法2、若我们自己提供了构造方法【无论是有参还是无参】,jvm都不会再提供了。3、构造方法也可以发生重载【在同一个类中,构造方法可以有多个】
    构造方法的用处:1、用于创建对象2、可以给对象中成员变量进行赋值

一个标准类的3.0版本的写法

    类:成员成员变量:私有化构造方法:一个无参,一个所有参数成员方法:setXxx()和getXxx()show方法:展示对象所有成员变量值
public class Student4 {private String id;private String name;private int age;Student4(){}Student4(String id,String name,int age){this.id = id;this.name = name;this.age = age;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void show() {System.out.println("学号:" + id + ", 姓名:" + name + ", 年龄:" + age);}
}class Demo4 {public static void main(String[] args) {//通过无参的构造方法创建对象,使用setXxx对成员变量赋值
//        Student4 s1 = new Student4();
//        s1.setName("wll");
//        s1.setId("1001");
//        s1.setAge(18);
//        s1.show();//直接通过有参的构造方法对成员变量进行赋值Student4 s2 = new Student4("1002","wll",19);s2.show();}
}

三、static关键字

    java中若某一个成员表示多个对象共享的话,可以使用static进行修饰1. 被static修饰的成员,称之为类成员,在对象创建之前就存在于方法区中静态区2. 被static修饰的成员,可以通过类名直接访问使用,非静态的成员必须要通过对象去调用
`注意事项:`
1. 被static修饰的成员,称之为类成员,在对象创建之前就存在于方法区中静态区
2. 被static修饰的成员,可以通过类名直接访问使用,非静态的成员必须要通过对象去调用
3. static可以修饰成员变量和成员方法
4. 非静态的成员方法既可以访问静态的成员[变量或方法],也可以访问非静态的成员[变量或方法]
5. 静态的成员方法只能访问静态的成员[变量或方法]
6. 静态的成员方法不能使用this关键字的

四、工具类

    工具类:1. 构造方法私有化2. 方法是静态的,将来可以通过类名访问

五、文档注释

    帮助文档的学习:1、打开帮助文档2、点击索引,搜索想要查询的类3、看是在什么包下的,除了在java.lang包下的类不用导包以外,其它任意包下的类在使用之前都需要导包4、看类的关系图5、看类的描述6、看有无构造方法若看到一个类中没有构造方法,大概率这个类是工具类,方法被static修饰7、若有构造方法,就可以根据构造方法创建对象了8、看成员变量9、查找自己需要的方法并使用
/*** 这是针对数组的常用功能集合,例如逆序,遍历等功能* 这是一位大神编写的* @author wll* @version V1.0.0*/
public class ArrayTool {private ArrayTool(){}/*** 该方法是针对元素是int类型数组的逆序* @param arr 参数是元素为int类型的一维数组* @return 返回排序后的数组地址*/public static int[] niXu2(int[] arr) {for (int front = 0, end = arr.length - 1; front < end; front++, end--) {int tmp = arr[end];arr[end] = arr[front];arr[front] = tmp;}return arr;}/*** 该方法是以指定格式遍历元素为int类型的一维数组* 遍历后的结果为[元素1,元素2,...]* @param arr 参数是元素为int类型的一维数组*/public static void printIntArray(int[] arr) {for (int i = 0; i < arr.length; i++) {if (i == 0) {System.out.print("[" + arr[i] + ",");} else if (i == arr.length - 1) {System.out.println(arr[i] + "]");} else {System.out.print(arr[i] + ",");}}}/*** 该方法是获取参数是元素为int类型的一维数组中的最大值* @param arr 参数是元素为int类型的一维数组* @return 返回数组中的最大值*/public static int getMaxNumber(int[] arr){int maxNumber = arr[0];for (int i = 1; i < arr.length; i++) {if (arr[i] > maxNumber) {maxNumber = arr[i];}}return maxNumber;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/803049.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis内容记录

redis的基本数据类型String:是最基本的数据类型,它可以存储任何二进制安全的数据。 不仅能存放文本数据,还能保存图片、音频、视频、压缩文件等二进制数据。它们通常用于缓存。 Hash:哈希类型,其中键值对中的值本身又是一个键值对结构,hash 特别适合用于存储对象。 List:…

人工智能教育技术学第四周

1.用亿图图示制作黄山奇石语文课文的思维导图2.CAJViewer9.2(CAJ全文浏览器)是中国知网的专用全文格式阅读器,CAJ浏览器支持中国期刊网的CAJ、PDF、KDH等多种格式文件阅读。并且它的打印效果与原版的效果一致。可实现页面设置、浏览页面、查找文字、切换显示语言、文本摘录、…

项目实战:Qt+OSG爆破动力学仿真三维引擎测试工具v1.1.0(加载.K模型,子弹轨迹模拟动画,支持windows、linux、国产麒麟系统)

需求1.使用osg三维引擎进行动力学模型仿真性能测试;  2.打开动力学仿真模型文件,.k后缀的模型文件,测试加载解析过程;  3.解决第三方company的opengl制作的三维引擎,绘制面较多与弹丸路径模拟较卡顿的问题;  4.测试时,使用的模型为公开模型,基础面数量达到160多万…

【入门岛第1关】linux 基础知识

目录闯关任务 完成SSH连接与端口映射并运行hello_world.py 闯关任务 完成SSH连接与端口映射并运行hello_world.py 1 在远程主机上建立hello_python.py程序并运行,查看程序运行的端口: import socket import re import gradio as gr# 获取主机名 def get_hostname():hostname …

DOTS计算Voronoi图形生成,根据点自动划分区域生成多边形

如图,生成Voronoi图形,代码如下。// web* src = https://gist.github.com/andrew-raphael-lukasik/cc9d61edbbb44ecb4956c6cb69363a8e using UnityEngine; using Unity.Mathematics; using Unity.Jobs; using Unity.Collections; using Unity.Profiling;[ExecuteInEditMode] …

Vue2+3基础

。第一个Vue程序 使用script进行Vue全局设置: 指定Vue实例挂载的位置 , Vue和js一样,都需要在script里写 第一步创建vue实例 1.为什么要new vue(),直接调用Vue不行吗?不行,因为如果直接调用Vue()会报如下错误: 2.关于vue构造函数:optionsoptions翻译为多个选项 Vue…

JAVA的字符串这篇讲清楚了

JAVA_String 从概念上讲,JAVA字符串就是Unicode序列。例如"Java\u2122"由5个UNICODE字符J,a,v,a和™组成。Java没有内置和字符串类型,而是试用java标准库中提供的一个预定义类,很自然地叫做了string。 子串substring String subStr = str.substring(beginIndex);这…

任务4:制作二维码

该二维码链接到游戏“植物大战僵尸”,寓教于乐。 提升趣味性和互动性的同时,学生们参与到课堂当中,发挥主体作用,感受到自然界植物的多样性,对土壤的作用有了更深刻的理解。

封装的练习题目1

1.使用面向对象的思想,编写自定义描述狗的信息。设定属性包括:品种,年龄,心 情,名字;方法包括:叫,跑。 要求: 1)设置属性的私有访问权限,通过公有的 get,set 方法实现对属性的访问 2)限定心情只能有“心情好”和“心情不好”两种情况,如果无效输入进行提示, 默认…

五款免费可视化工具全解析:选择你的最佳搭档

1. 山海鲸可视化 介绍: 山海鲸可视化是一款免费的国产可视化报表软件,与许多其他宣传免费的软件不同,山海鲸的报表功能完全免费并且没有任何限制,就连网站管理后台这个功能也是免费的。同时山海鲸可视化还提供了种类丰富的可视化图表、三维模型、模板可供使用,软件采用点击…