Java——初识方法和类

什么是方法:

  • 方法用于封装一段特定的逻辑功能。
    方法可以反复调用,封装方法可以减少重复代码,便于程序的维护。
  • 定义方法的五个要素:修饰词、返回值类型、方法名、参数列表、方法体。
public static String add(Integer id,String name) {
	// 方法体
	return "";
}
修饰词:public、static 
返回值:String
方法名:add
参数列表:id、name
  • 方法可以有参数,也可没有参数。
  • 在方法定义时,需要声明该方法所需要的参数变量,在调用时传递给方法,需要被方法处理的数据,传参时必须保证参数的类型和个数符合方法的声明。
  • 方法调用结束可以返回一个数据,称之为返回值。
  • 方法在声明时,必须指定返回值的类型。
    • 不需要返回数据,将返回值类型声明为void。
    • 需要返回数据,将返回值类型声明为数据类型。
  • 可以通过return语句返回,return语句的作用在于方法结束时,返回方法声明的返回值类型给调用方。

什么是类:

  • 什么是抽象数据类型:
    • 所谓抽象数据类型可以理解为,将不同类型的数据的集合组成一个整体用来描述一种新的事物。
  • 类不但定义了抽象数据类型的组成,同时还定义了可以对该类实施的操作方法。
  • 类的定义包括成员变量方法,其中成员变量用于描述该类的数据结构。
  • 对象创建后,成员变量可以按照默认的方式初始化,其默认值的规则如下所示:
成员变量类型默认值
byte、short、int、long、float、double0
booleanfalse
char/u0000
引用类型null
  • 类中除了定义的成员变量,还可以有定义方法,用于描述对象的行为,封装对象的功能。
/**
 * @description:学生类
 */
public class Student {
	/** 定义成员变量 */
	private Integer id;  // 学号
	private String name; // 姓名
	private Integer age; // 年龄
	private String sex;  // 性别
	/** 方法 */
    // 无参构造方法
	Student() {}
	// 有参构造方法
	Student(Integer id, String name, Integer age, String sex) {
		this.id = id;
		this.name = name;
		this.age = age;
		this.sex = sex;
	}
}
  • 类定义完,可以使用new关键字创建对象,创建对象的过程称为实例化。为了能够对实例的对象进行访问控制,需要使用一个特殊的变量引用
    • 除了8中基本类型之外,用类、接口、数组声明的变量都称为引用类型变量,简称引用
  • 可以通过引用访问对象的成员变量或调用方法:
public static void main(String[] args) {
	Student student = new Student();
	// 类     引用        对象
	student.id = 1;
	student.name = "张三";
	student.age = 20;
	student.sex = "男";
}
  • 引用类型变量存的是对象的地址信息,相同类型的引用类型变量之间可以互相赋值,引用类型变量之间的赋值不对创建新对象,但有可能会使用两个以上的引用指向同一个对象。
  • 引用类型变量,可以赋值为null,null的含义为空:
public static void main(String[] args) {
	Student student = null;
}
  • 当一个引用的值为null时,如果通过引用访问对象或调用方法是不合逻辑的,此时会产生程序报空指针异常(NullPointerException)。
public static void main(String[] args) {
	Student student = null;
	student.id = 1;
	System.err.println(student.id);
}
结果:
Exception in thread "main" java.lang.NullPointerException
	at day03.Student.main(Student.java:39)

方法的重载:

  • 一个类中,两个方法名相同,且参数列表不同是可以的。
  • 在java中,允许多个方法名相同,但参数列表不同,称之为方法的重载(Overload)。
public class Student {

	private Integer id;
	private String name; // 姓名
	private Integer age; // 年龄
	private String sex; // 性别
	
	// 无参方法
	public Student() {
	}
	
	// 有参方法
	public Student(Integer id, String name, Integer age, String sex) {
		this.id = id;
		this.name = name;
		this.age = age;
		this.sex = sex;
	}
	
}
在这个类中的两个方法,就是同名不同参。

构造方法:

  • 在类中,除了定义成员变量以外,还得定义方法,此方法不同于其他方法,构造方法的定义有两点规则:
    • 构造方法的名必须与类名相同。
    • 构造方法没有返回值,但也不能写成void。

在这里==三个红框是否一致==图片描述
图中画红框的三处是否保持一致

  • this关键字用于指向调用该方法的当前对象,那个对象调用方法,this就是哪个对象。
  • 在构造方法中,用来初始化成员变量的参数一般和成员变量取相同的名字,这样利于代码可读性
public Student(Integer id, String name, Integer age, String sex) {
	this.id = id;
	this.name = name;
	this.age = age;
	this.sex = sex;
}
  • 比如Student这个类,在没有定义方法时,编译器在编译时将会为其添加一个无参构造方法。
  • 如果Student这个类定义了构造方法,编译器在编译时将不再添加默认构造方法。
  • 为了使用方便,Student类可以创建很多构造方法,这些构造方法方法名相同,且参数不同,这种称之为构造方法的重载。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值