java学习-二维数组&面向对象

动态初始化

格式
数据类型[][] 变量名 = new 数据类型[m][n]
m表示这个二位数组可以存放多少个以为数组
n表示里面的每个一维数组可以存放多少个元素

比如

int[][] arr = new[3][2]
这个就代表里面有3个一维数组,每个一维数组可以存放2个元素

存数据

arr[0][0] = 11
arr[0][1] = 12
arr[1][0] = 13
arr[1][1] = 14
arr[2][0] = 14
arr[2][1] = 14


静态初始化
格式:

数据类型[][] 变量名 = new 数据类型[][]{{元素1,元素2},{元素3,元素4}}
也可以直接先创建一维数组然后再放入二维数组里面


类和对象

类的组成
属性:在类中通过成员变量来体现(就是类中中方法之外的变量)就是下面代码中的name和age

行为:在类中通过成员方法来体现,就是类中的方法,和之前的方法相比去掉static关键字即可

public class student{
  String name;
  int age;
  public void study(){
    System.out.println("jack")
  }
}

1、类的定义

public class 类名{
  //成员变量
  变量1的数据类型 变量1;
  变量2的数据类型 变量2;
  //成员方法
  方法1;
  方法2
}

2、创建类就是新建一个.class文件
eg:

public class student{
  //这边是属性,因为每个学生的属性都不一样就可以先不写这个具体的信息
  string name;
  int age;
  //行为就是方法
  public void study(){
    System.out.println("study");
  }
}

3、创建对象
格式
类名 对象名 = new 类名();
调用成员的格式:
对象名.成员变量
对象名.成员方法();

案例:
先创建一个类

然后再新建一个类文件定义主方法去调用类

给成员对象赋值

带有参数的方法

调用这个参数

成员变量和局部变量
成员变量:类中方法外的变量
局部变量:方法中的变量
区别:
生命周期:成员变量随着对象

private关键字

这个是一个private是一个修饰符,可以用来修饰成员(成员变量,成员方法)
特点:
被private修饰的尘缘,只能在本类进行访问,如果需要被其他进行使用,只能使用方法进行相应的操作


细节理解

this关键字

作用:可以调用本类的成员(变量,方法)解决局部变量和成员变量的重名问题
比如

String name;
public void stu(String name){
  name = name; //这里就是成员变量赋值给局部变量,按理如果传入jack那么局部变量和成员变量都是jack,但是没有this修饰符,成员变量无法进行赋值
}
public void show(){
  System.out.println(name)
}


加上this进行修饰

public class Student{
	private String name;
	private int age;
	public void setName(String name){
		name=name  //这就是把成员变量赋值给局部变量的操作   
		this.name = name //这样就表示这个成员变量赋值给局部变量就可以了,测试类也就可以直接使用
	}
}
新建测试类
public class Teststudent{
	public static void main(String[] args){
		student s1 = new student();
		s1.setname("张三")  //如果直接直接赋值那么成员变量是不会改变的
		s1.show()   //这里的结果就是默认值null
		
	}  
}

也可以sout(this.age)这个就是说直接打印成员变量,也就是外面的变量

this关键字总结

this修饰的变量用于指代成员变量,其主要作用是(区分局部变量和成员变量的重名问题)
方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量
方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量

构造方法

就是在构造方法的时候会自动的被进行调用进行初始化,如果没有写构造函数系统也有默认的构造函数,如果写了构造函数那么默认的就不会生效

系统默认的构造参数

public study(){}

格式:
1、方法名与类名相同,大小写也都要一致
2、没有返回值类型,void也没有
3、没有具体的返回值(不能使用return进行返回数据)

执行条件
创建对象的时候会被调用
比如

study stu = new study();
//这样就能自动执行构造函数

无参数的构造方法

有参数的构造方法

参数的调用

javaBean类:封装数据

这个就是如果使用private的修饰符的话那么这些变量只能通过方法进行调用,比如get,set这些方法

快捷键进行创建

 javaBean类
右键点击Generate选第一个constructor点击select按钮就能创建一个空的参数构造方法,
有参数的页点击constructor之后CTRL+a全选之后点击select就能创建有参
右键选择GENERATE然后选择Getter and setter 之后全选就能创建 set和get方法,
posted @ 2023-10-24 23:42  Running_J  阅读(23)  评论(0编辑  收藏  举报