Java 06
1、this
变量查找规则:就近原则
先在方法中查找变量,若找到就使用
若方法中没有该变量,去成员变量的位置上查找
public class Student {
// 成员变量S
private String id;
private String name;
private int age;
public void setId(String id){
// id = id;
//我们的本意是将传进来的id赋值给成员变量的id,但是id = id无法查找到成员变量中的id
//java提供一个关键字:this
this.id = id;
}
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 Demo{
public static void main(String[] args) {
Student2 s1 = new Student2();
s1.setName("张三");
s1.setAge(18);
s1.setGender("男");
s1.show();
}
}
2、构造方法
构造方法:在一个类中,方法名与类名一致,没有返回值。连void都不能有
创建对象的时候,是需要借助构造方法来创建对象的。
1、jvm在编译一个类的时候,若该类没有自己编写的构造方法的话,会默认提供一个无参,空方法体的构造方法
2、若我们自己提供了构造方法【无论是有参还是无参】,jvm都不会再提供了。
3、构造方法也可以发生重载【在同一个类中,构造方法可以有多个】
public class Student3 {
Student3(){
System.out.println("这是无参的构造方法");
}
Student3(String s) {
System.out.println("这是有参的构造方法:" + s);
}
}
class Demo3 {
public static void main(String[] args) {
Student3 s = new Student3("数加科技");
Student3 s2 = new Student3();
}
}
构造方法的用处:
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("江川");
// s1.setId("1001");
// s1.setAge(18);
// s1.show();
//直接通过有参的构造方法对成员变量进行赋值
Student4 s2 = new Student4("1002","江川",19);
s2.show();
}
}
类是用来描述现实生活中的事物的,而成员变量是用来描述一个类的。
3、static
java中若某一个成员表示多个对象共享的话,可以使用static进行修饰
1. 被static修饰的成员,称之为类成员,在对象创建之前就存在于方法区中静态区
2. 被static修饰的成员,可以通过类名直接访问使用,非静态的成员必须要通过对象去调用
注意事项
1. 被static修饰的成员,称之为类成员,在对象创建之前就存在于方法区中静态区
2. 被static修饰的成员,可以通过类名直接访问使用,非静态的成员必须要通过对象去调用
3. static可以修饰成员变量和成员方法
4. 非静态的成员方法既可以访问静态的成员[变量或方法],也可以访问非静态的成员[变量或方法]
5. 静态的成员方法只能访问静态的成员[变量或方法]
6. 静态的成员方法不能使用this关键字的
4、工具类
工具类
1. 构造方法私有化
2. 方法是静态的,将来可以通过类名访问
注释
单行注释
多行注释
文档注释[今天来说],针对工具类添加文档注释
package com.shujia.day06;
/**
* 这是针对数组的常用功能集合,例如逆序,遍历等功能
* 这是32期一位大神编写的
* @author 小虎
* @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;
}
}
5、Java帮助文档【jdk api】
帮助文档的学习:
1、打开帮助文档
2、点击索引,搜索想要查询的类
3、看什么包下的,除了在java.lang包下的类不用导包以外,其它任意包下的类在使用之前都需要导包
4、看类的关系图
5、看类的描述
6、看有无构造方法
若看到一个类中没有构造方法,大概率这个类是工具类,方法被static修饰
7、若有构造方法,就可以根据构造方法创建对象了
8、看成员变量
9、查找自己需要的方法并使用
标签:arr,Java,String,构造方法,int,day06,id,初学,public
From: https://www.cnblogs.com/qianzhiqiang798/p/18457249