什么是类:类翻译:class
1.凡是一个.java后缀修饰的文件都是一个类
2.每个java文件中可以存在多个类。语法如下 class Xxx { }
3.每个Java文件有且只能有一个被public修饰的类,且必须和文件名一致。
一般来说:类的组成:A.属性 B.方法
什么是对象:
对象就是类的实例化
什么是实例化:将类进行new操作。
例如: 类名 变量名 = new 类名();
Test t = new Test();
称之为:t为Test类的实例化对象。
实例化之后的对象可以:对类
public class Test {
public static void main(String[] args) {
}
}
class A{
}
class B{
}
的属性或方法进行访问调用。
课堂练习1:
创建一个工具类,该类的功能如下:
提供方法a1(),该方法只需要完成输出一句话即可。
提供方法a2(), 该方法只需要完成计算方法传递来的2个int值之和并返回。
该工具类写好之后的意义:方便后续去调用它。
public class Test2 {//这个类是工具类
public void a1() {
System.out.println("我是工具类的a1方法");
}
public int a2(int a , int b ) {
return a+b;
}
}
课堂练习2:
创建一个实体类,该类的功能如下:
提供3个属性,分别是name,age,sex。
提供一个方法,该方法只需要打印这三个属性值即可。
public class Test3 {//假设是一个实体类
String name;
int age ;
char sex;
//该方法的作用:输出这个类的三个属性
public String out() {
return "name=" + name +",age=" + age +",sex=" + sex;
}
}
课堂练习3:
何为测试类:暂时这么理解:有main方法的类
创建一个测试类,创建三个对象分别赋值,并将对象的值打印在控制台上。
public class Test4 {
public static void main(String[] args) {
// 创建一个测试类,调用刚刚创建的工具类的2个方法。
// 如何调用?
// 1.要想调用某个类的方法,需要实例化对象。
// Test2 t2 = new Test2();
// t2.a1();
// int sum = t2.a2(10, 30);
// System.out.println(sum);
//创建实体类的三个对象分别赋值,并将对象的值打印在控制台上。
Test3 t1 = new Test3();
t1.name = "张三";
t1.age = 18;
t1.sex = '男';
Test3 t2 = new Test3();
t2.name = "李四";
t2.age = 20;
t2.sex = '女';
System.out.println(t1.out());
System.out.println(t2.out());
}
}
为什么要将以上代码分开写?而不写在同一个类里。
1.方便管理阅读,如果代码量一多起来,放在一个类里面更加困难进行阅读。
2.各司其职 每个类都有每个类的作用。
3.例如:我们现在所学的 测试类(有main方法的就叫测试类)
那么测试类的规范:只需要执行代码。不需要过程代码。
例如只需要调用方法,不需要操心方法内部是什么。
一般而言测试类都是放在com.yyzy.test包下
回顾:包package的作用:将代码进行分类。
常见的包:com.yyzy.test包
今日所学:工具包和工具类 简称util
何为工具包:存放工具类的包
何为工具类:可以被复用的方法。
例如将密码进行加密。 将所有的大写字母变成小写字母
计算N个数之和。 将数组进行排序。等等
思考:登录方法是不是工具类?
答:不是,登录是业务类。
今日所学:实体类和实体包 简称entity
何为实体包:存放实体类的包
何为实体类:世间万物抽象的存在,例如一个人,一个猫,一张银行卡
等拥有很多属性的类。例如淘宝上的所有商品,例如微信的所有登录用户。
public class Test9 {
/*
Java为什么需要方法:
将一些重复的代码放在一个方法内部,实现重复的调用,简化代码
方法的理解:帮助我们去做某一件具体的事。例如计算求和。例如登录功能。例如注册功能。
方法1的组成语法:调用这个方法,不需要得到什么返回值。
public void 方法名(参数列表){ //其中参数列表: 数据类型 变量名 , 数据类型 变量名 的格式
代码体
}
方法2的组成语法:调用这个方法我需要得到什么类型的返回值
public 返回数据类型 方法名(参数列表){ //其中参数列表: 数据类型 变量名 , 数据类型 变量名 的格式
代码体;
return 返回值;
}
*/
public static void main(String[] args) {
}
public void a1(int a,String b,char c) {
System.out.println("我就是一个测试方法,没有返回值");
}
//调用这个方法可以得到2个数的和
public int a2(int a ,int b) {
int sum = a + b;
return sum;
}
}