一、Java中类的作用
1.类是用来组织方法的组织单元.
例子:java.util.Arrays / java.lang.Math
Arrays.copyOf()
//类名.方法名
//通过类调方法
2.类是用来生成对象的一个模板(图纸).
例子:Scanner / Random / String
String s ="hello";
Scanner s = new Scanner(System.in);
Random r = new Random();
//上面便是构造了对象出来
r.nextInt();
//然后便是通过对象去调用方法
二、类的语法
1.如何定义类
class 类名{
属性(field)
}
//例子
public class Teacher{
public String name;
public int age;
}
2.如何实例化对象
Teacher t = new Teacher();
//Teacher: 类在此处,当作数据类型来使用,是一种引用类型
//new :构造一个对象
//Teacher(): 对象的类型是Teacher这个类的对象——Teacher对象
首先构造了一个Teacher类型的对象,使用一个Teacher类型的引用t指向该对象
3.如何使用对象
t.name = "干饭王"
t.age = 20;
//赋值 / 读取
//并且 t != null
回到类的定义中
对象 = 属性+ 方法
属性:组织起来的一组数据
方法:围绕这组数据的相关方法
class 类名 {
属性们(field)
方法们(methods)
}
方法:
public void 讲课() {
...
}
//没有static,必须通过对象操作这个方法,这叫做普通方法
public static void fill() {
...
}
//由static,通过类名去操作这个方法,这叫作静态方法
方法分为:普通方法和静态方法
如果后面提到的方法,不加说明的话就是普通方法。
构造器
class 类名 { // 类的内部、方法的外部
属性们(fields)
普通方法们(methods)
构造器/构造方法们(constructors)
}
//例子
Scanner sca = new Scanner(System.in);//构造对象并且传入了合适的参数
Scanner sca = new Scanner(); //构造对象
sca.in = System.in //传参
// 构造对象和传参进行了分离
构造器:其形式和方法类似,但是和普通方法有区别
其区别为:
1.没有返回值类型
2.出现方法名的位置,必须使用类名
public class Teacher {
public String name;
public int age;
public String[] courseArrays;
// 构造器 1 没有参数
public Teacher(){
}
//构造器 2 传入一个参数
public Teacher(String name){
}
//构造器 3 传入两个参数
public Teacher(String name,int age){
}
//构造器 4 传入三个参数
public Teacher(String name, int age, String[] courseArrays){
}
}
public class TeacherTest {
public static void main(String[] args) {
Teacher a = new Teacher();
Teacher b = new Teacher("干饭王");
Teacher c = new Teacher("干饭王",35);
Teacher d = new Teacher("干饭王",35,new String[]{"JavaSE","数据结构"});
System.out.println(d.name);//null
System.out.println(d.age);//0
System.out.println(d.courseArrays);//null
//有利用传入的参数去修改对象的属性吗? 没有 对象中的属性仍然保持默认值的情况
//因为只是将参数定义好传入了构造器,但并没有使用,所以输出还是其默认值
}
}
关于变量的默认值规则
1.局部变量不享受默认值规则——局部变量不赋值不能使用
2.其他情况(属性、数组中的元素)——默认值是 0 的变形
0 的变形对于
数值类型:就是0
boolean:false
引用类型:null