Java学习 第七天 二维数组 面向对象

  • 二维数组

静态初始化
格式:数据类型[][] 数组名 =new 数据类型[][]{{元素1,元素2},{元素1,元素2}};
范例: int[][] arr = new int[][]{{11,22},{33,44}};

遍历:先得到一维数组,再遍历一维数组获取元素

//arr[0][2] 获取arr当中第一个数组的第三个元素  (注意数组的初始元素是0)
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();
            System.out.print("----------------"+"\n");
        }

动态初始化:
格式:数据类型[][] 数组名 = new 数据类型[m][n];
m表示有多少个一维数组
n表示每个一维数组可以存放n个元素

范例:int[][] arr= new int[2][3];
表示新建一个arr的二维数组,可以存放2个一维数组,每个一维数组可以存放3个元素.




  • 面向对象

类和对象

类名的首字母建议大写,需要见名知意
一个Java类当中可以定义多个class类,但是只有一个类是public修饰,并且public修饰的类名,必须成为代码文件名

建议:一个文件定义一个class类

定义成员变量的时候,完整的定义格式是:修饰符 数据类型 变量名称 = 初始化值;
一般无需制定初始化值,存在默认值.

  • 类 是对象的共同特征
  • 对象 真实存在的具体东西

用来描述一类事物的类,叫做javabean类.
在Javabean类中,是不写main方法的

在以前,便携main方法的类,叫做测试类
也可以在测试类中创建Javabean类的对象进行复制调用

  • 封装
    对象代表什么,就得封装对应的数据,并提供数据对应的行为.

private关键字

  • 是一个权限修饰符
  • 可以修饰成员(成员变量和成员方法)
  • 被private修饰的成员只能在本类中才能访问

因为是private 只能在本类使用,但是可以用setter进行赋值校验 ,getter进行获取

//成员变量的name 和setter的形参变量名重复(也就是局部变量)
//用this 关键字,进行指出本类当中的成员变量
private String name;
    public void setName(String name) {
        name = name;
    }

修改后的代码

//this 指的是类当中的成员变量
//如果不用this,会自动匹配上面最近的一个变量值(就近原则),优先局部变量,然后到成员变量
private String name;
    public void setName(String name) {
        this.name = name;
    }
  • 构造方法
    也叫做构造器,构造函数

作用:在创建对象的时候,给成员变量进行赋值

  • 特点:
  1. 方法名与类名相同,大小写也一致
  2. 没有返回值,连void都没有
  3. 没有具体的返回值(不能return带回结果数据)
  4. 创建对象的时候有虚拟机调用,不能手动调用,每创建一次对象,就会调用一次构造方法
//无参构造,成员变量都是默认值
//如果没有写任何构造方法,那么虚拟机会加一个空参构造方法
    public Friend(){}

//有参构造
//已经定义构造方法,系统将不再提供默认的构造方法
    public Friend(String name,int age,double height){
        this.name=name;
        this.age=age;
        this.height=height;
    }
  • 建议:不管用不用,都要手动书写无参构造方法,和带全部参数的构造方法

  • 标准的JavaBean类

  • 类名需要见名知意

  • 成员变量需要用private修饰

  • 至少提供两个构造方法
    1. 无参构造方法
    2.带全部参数的构造方法

  • 成员方法
    1. 提供每一个成员变量对应的setter/getter
    2. 如果还有其他行为也需要写上

//标准的JavaBean示例

public class User {
    private String userName;
    private String password;
    private String emailAddress;
    private char gender;
    private int age;

    public User(){}

    public User(String userName,String password,String emailAddress,char gender,int age){
        this.userName=userName;
        this.password=password;
        this.emailAddress=emailAddress;
        this.gender=gender;
        this.age=age;
    }

    public void setUserName(String userName){
        this.userName=userName;
    }

    public String getUserName(){
        return userName;
    }

    public void setPassword(String password){
        this.password=password;
    }

    public String getPassword(){
        return password;
    }

    public String getEmailAddress() {
        return emailAddress;
    }

    public void setEmailAddress(String emailAddress) {
        this.emailAddress = emailAddress;
    }

    public char getGender() {
        return gender;
    }

    public void setGender(char gender) {
        this.gender = gender;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

posted @ 2025-03-22 10:11  无敌的二进制  阅读(24)  评论(0)    收藏  举报