public class ClassRoom {
//创建name属性
public String name;
//创建无参构造方法,方法名同类名必须一样
public ClassRoom() {
System.out.println("这是班级的构造方法");
}
//创造一个有参的构造方法
public ClassRoom(String name) {
this.name= name;//this.name指的是类自身的name
System.out.println(this.name);
}
//创建一个方法
public void intro() {
System.out.println("我的班级是" + this.name);
}
//如果需要在控制台上输出对象的信息,创建一个方法,重写toString方法(可用于测试或调试代码),这是固定格式
public String toString() {
return this.name;//返回值为类里的name属性值
}
}
-----------------------------------------------------------------------------------------
public class Students {
public String name;
public String grnder;
public int age;
//当调用构造方法时,此构造方法的类中的属性优先级高于构造方法优先级
public ClassRoom cr=new ClassRoom("java");//定义一个对象
//static修饰的变量或方法会优先被加载,方法被static修饰,该方法属于类的方法,调用方式为类名称.方法名称()
public static ClassRoom cr2 = new ClassRoom("python");
//静态代码块优先级仅在static修饰的属性之下
static {
System.out.println("这是一个静态代码块");
}
//创建一个构造方法
public Students() {
System.out.println("这是一个学生的构造方法");
}
//创建一个方法
public void study() {
System.out.println("我的名字是" + this.name + "我正在学习");
}
//静态方法属于类的方法直接用类名称.方法名()调用
public static void msg() {
System.out.println("test");
}
}
-------------------------------------------------------------------------------------
public class Test {
public static void main(String[] args) {
// ClassRoom cr = new ClassRoom("java进修班");//cr访问的是属性的name,new后面的是有参构造方法
// System.out.println(cr.name);
// cr.intro();//cr对象使用类里的方法intro
// System.out.println(cr);//直接打印会输出zuoye.day10.ClassRoom@15db9742,为了不让他打印这个需重新构造tostring方法
Students stu =new Students();
// Students.msg();
}
}