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;
}
- 构造方法
也叫做构造器,构造函数
作用:在创建对象的时候,给成员变量进行赋值
- 特点:
- 方法名与类名相同,大小写也一致
- 没有返回值,连void都没有
- 没有具体的返回值(不能return带回结果数据)
- 创建对象的时候有虚拟机调用,不能手动调用,每创建一次对象,就会调用一次构造方法
//无参构造,成员变量都是默认值
//如果没有写任何构造方法,那么虚拟机会加一个空参构造方法
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;
}
}




浙公网安备 33010602011771号