首页 > 编程语言 >Java 初学 day06

Java 初学 day06

时间:2024-10-10 21:48:51浏览次数:8  
标签:arr Java String 构造方法 int day06 id 初学 public

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

相关文章

  • Java 初学 day07
    Java071、继承extend举例我想养一只......
  • C语言初学:常量和变量
    常量整型常量实型常量字符常量用一对单引号将一个字符括起来。字符串常量由一对双引号引起将零个或多个字符序列括起来。变量变量的输入与输出标准格式转换将标准日期格式YYYY-MM-DD转换为中国美国英国三个国家的三种日期格式代码如下:输出公民身份证号码的各组成......
  • 【JavaEE】——回显服务器的实现
     阿华代码,不是逆风,就是我疯你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你!!目录一:引入1:基本概念二:UDPsocketAPI使用1:socket文件2:DatagramSocket类(1)构造方法(2)方法3:DatagramPacket类三:回显服务器——服务器1:引入(必看)2:服务器响应代码(1)注释版本(2)......
  • [Java/Spring/Nacos] Java 获取配置的方式
    1、[本地]使用JDK的System.getProperty(key),获取JVM参数(VMOptions)、系统属性参见:系统变量与JVM参数(VMOption)/环境变量/程序启动参数args-博客园/千千寰宇2、[本地]使用JDK的System.getenv(key),获取环境变量3、[本地]使用JDK的main(String[]args......
  • 2024年1月Java项目开发指南18:自定义异常输出
    一般情况下,报错信息一大堆,值得注意的只有三个地方:哪个文件发生了错误哪一行发生了错误错误原因是什么只要知道这三个东西就能快速的定位到错误发生的位置并且根据提示解决。如果你也喜欢我的这种异常输出(如文章顶部图)那么可以参考以下代码:packagecom.guaiguailang.harm......
  • springboot+vue基于Java的教材管理系统设计与实现【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景在教育信息化的大潮中,传统教材管理方式逐渐暴露出效率低下、信息不透明等问题。随着高校规模的不断扩大,教材管理工作变得日益复杂,涵盖了从教材采购、库存管理到分发调拨等多个环节。传统的纸质记录和人工管理方式已难以满足当前高效、......
  • 鸿蒙初学001-构建第一个ArkTS应用(Stage模型)
    https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-dev-guide-V5HarmonyOSSDK介绍:从HarmonyOSNEXTDeveloperPreview1(API11)版本开始,HarmonyOSSDK以Kit维度提供丰富、完备的开放能力,涵盖应用框架、系统、媒体、图形、应用服务、AI六大领域,例如......
  • Java中类加载机制的学习
    类加载机制目录类加载机制类的加载加载连接初始化类加载器及加载机制类加载器类加载机制类的加载类加载分为三个步骤:加载、连接、初始化。加载类加载指的是将class文件读入内存,并为之创建一个java.lang.Class对象,即程序中使用任何类时,系统都会为之建立一个java.lang.Class......
  • Java入门
    下载和卸载Java8*一,卸载1.在此电脑打开属性2.高级设置找的系统变量找的Javahome我们可以看到Javahome的地址方便我们后面卸载Java3.在找的path里面的关于Java删除4.现在Java就删除干净了二下载我们现在知道自己电脑的属性就可以下载了(下载sh'......
  • 08 JAVA 继承多态抽象类接口
    1函数题1,super.a来明确访问父类的字段。super(a);表示调用父类的构造函数,并传递参数a2,抽象类继承需要写新的构造器,重写抽象方法classCircleextendsshape{privatedoubleradius;publicCircle(doubleradius){this.radius=radius;}//构......