首页 > 编程语言 >java学习-二维数组&面向对象

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

时间:2023-10-24 23:56:27浏览次数:38  
标签:java 变量 成员 局部变量 面向对象 二维 方法 public name

动态初始化

格式
数据类型[][] 变量名 = 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方法,

标签:java,变量,成员,局部变量,面向对象,二维,方法,public,name
From: https://www.cnblogs.com/ArcherCY/p/17786054.html

相关文章

  • springboot生成二维码的正确姿势-附视频附源码
    @目录前言初始化SpringBoot项目引入依赖编码编写工具类生成二维码资源共享二维码的原理是什么,如何保证不重复?你有没有想过这样一件事,二维码是实现原理是什么?如何保证各个平台的二维码是唯一的?就算你的程序停止运行,但是你的二维码依然存在。设计上要保证唯一性,比如在物流等环......
  • 面向对象程序设计中类与类的关系都有哪几种?
    面向对象程序设计中,类与类之间可以有多种关系,这些关系有助于描述类之间的相互作用和依赖。以下是一些常见的类与类之间的关系:继承(Inheritance):继承是一种“是一个”关系,其中一个类可以从另一个类派生,继承其属性和方法。派生类(子类)可以重用父类的功能,并可以添加新功能或修改继承......
  • javaweb第11章源码
    javaweb第11章源码下载链接:https://wwpv.lanzoue.com/ifkAa1crixqd文件结构CHAPTER11│.classpath│.project│├─.settings│.jsdtscope│org.eclipse.jdt.core.prefs│org.eclipse.wst.common.component│org.eclipse.wst.common.proje......
  • JavaScript知识点
    有哪些数据类型根据JavaScript中的变量类型传递方式,分为基本数据类型和引用数据类型两大类七种。基本数据类型包括Undefined、Null、Boolean、Number、String、Symbol(ES6新增)六种。引用数据类型只有Object—种,主要包括对象、数组和函数。基本数据类型和引用数据类型的区别两者......
  • 数据结构之链表(Java)
    一:概述数组是严格的正规军,那么链表就是灵活多变的地下党链表是一种在物理上非连续、非顺序的数据结构,由若干节点(node)所组成单向链表的每一个节点又包含两部分,一部分是存放数据变量的data,另一部分是指向下一节点的指针next.二:链表的具体说明<1>链表的基本操作总括*链表的基......
  • Java内部类
    Java内部类详解详细解释内部内的一些使用规则的原因概览定义:在一个类的内部定义的类。它的定义位于另一个类的内部,并且可以访问外部类的成员,包括私有成员。为什么要用我觉得一个是为了符合OOP的封装原则,因为毕竟也可以直接把内部类函数和成员放到外面写。另外就是既然可......
  • javaweb学习每日总结-第四天
    第四天学习Mybatis 今天在昨天大概学习完mybatis的概念之后,今天跟着案例敲了一边代码,自己亲自操作了一边数据库,过程相对比较顺利,下面我说说自己的感悟把,首先敲代码之前要配置好自己的mybatis.xml文件,然后创建Java类来写方法和对象,创建xml文件,然后用mapper接口将两个文件连接......
  • Java基础 缓冲流为什么能提高性能?
    缓冲流为什么能提高性能?知识点:1个字节=1B缓冲流自带长度为8192的缓冲区,字节缓冲流的缓冲区是byte类型的,是长度为8192的字节数组,为8K;而字符缓冲流的缓冲区是char类型的,是长度为8192的字符数组,为16K,因为 Java中一个字符占两个字节通过缓冲区可以显著提高字节流......
  • java复习
    内部类有哪些分类?在Java中,可以将一个类的定义放在另外一个类的定义内部,这就是内部类。内部类本身就是类的一个属性,与其他属性定义方式一致。内部类的分类一般主要有四种:⚫成员内部类⚫局部内部类⚫匿名内部类⚫静态内部类静态内部类就是定义在类内部的静态类,静态内部......
  • Java基础 字符缓冲流
      字符流的基本流本身其实已经有缓冲区了,所以字符缓冲流提高的效率不是很明显。 字符缓冲流的构造方法:字符缓冲输入流:public BufferedReader(Reader r)  →  把基本流变成高级流字符缓冲输出流:public BufferedWriter(Writer r)  →  把基本流变成......