类
描述
- 由一类事物抽取共同属性与功能形成的,在代码中也就是属性(成员变量)与方法组成的;类是抽象的
- 在java文件中可以写多个class 但是被public 修饰的class只能有一个,而且要求这个公共类的名字必须与文件的名字保持一致
案例了解
新建一个类
案例实现–在java文件中可以写多个class 但是被public 修饰的class只能有一个,而且要求这个公共类的名字必须与文件的名字保持一致
类中可以包含 属性、方法
1、属性为变量 类中的变量有成员变量、静态变量
//新建个类
public class ClassDescription {
/**
* 成员变量
* 1.定义在类里方法外的
* 2.不用初始化也会被初始化成默认值
* 3.生命周期:整个类中,类消失成员变量也会消失
*/
String name; //成员变量
/**
* 静态属性
* 随着类的加载而加载,优先于对象进行加载
*/
static String sex; //静态变量
}
- 方法有 普通方法,构造方法,静态方法
class Person {
//属性 -也就是成员变量
String name;
Integer age;
String sex;
/**
* 构造代码块
* 作用在类里方法外
* 作用:抽取构造方法中的共性代码
* 执行时机:每次调用构造方法前都会调用构造代码块
* 构造代码块优先于构造方法加载
*/
{
System.out.println("构造代码块");
System.out.println("共性代码");
}
//构造方法--构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法
//形式
// 修饰符 方法名 ([参数列表]){ 方法名与类名一致
// 代码
// }
public Person() {
System.out.println("无参构造");
}
public Person(String name) {
this.name = name;
System.out.println("含参构造" + name);
}
public Person(String name, Integer age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
System.out.println("全参构造" + name + age + sex);
}
//功能-方法
public void eat(String name) {
System.out.println(name+"开始干饭!");
/**
* 局部代码块
* 位置 方法里
* 执行时机:调用本局部代码块所处的方法是才会执行
* 作用:用于控制变量的作用范围,变量的作用范围越小越好
*/
{
System.out.println("局部代码块");
String data = "用于测试局部代码块";
System.out.println(data);
}
}
/**
* 静态方法
* 执行时机:随着类加载而加载,优先于对象加载
* 可以直接通过类名直接调用(也被称为类资源)
* 静态资源只能调用静态资源
*
*/
public static void play(){
System.out.println("静态方法");
}
}