类与对象
一、对于类和对象的理解: 类是存在在编程中的一个概念,在现实生活中不存在,它是一些对象共同点的描述,如同数学概念里的集合思想。 对象是存在在类中的具有某种共同特征的具体化事物。
二、定义类的方法:
public class 类名(){
描述类:属性 方法
定义属性的方法:访问修饰符(4种) 数据类型 属性名;
定义方法的方法:访问修饰符 返回值类型 方法名(数据类型 参数名){}
}
三、构造方法
方法: 1普通方法:对对象的功能的一种定义 方法名自定义
2构造方法:创建一个对象并赋初始值的过程(返回值与堆内存相关) 方法名必须是类名
public 类名(参数类型 参数名,,,){}
public 类名(){}
每个类都有一个默认的无参构造方法,如果自己定义了一个有参的构造方法,那么默认的无参构造方法就会被替代,要想再用就必须写出来
四、实例化对象 即将定义的类使用到主函数里:用实例化给类赋予生命力。
类名 对象名 = new 构造方法(参数值)
五、方法重载 当方法的对象不同时使用
例如:李宗盛唱了一首《真的爱你》。李宗盛唱了一首《山丘》。
条件:1 方法名相同
2 方法参数个数 类型 顺序至少一个不同 格式:访问修饰符 返回值类型 方法名(参数类型 参数名...){}
注意事项 1 主函数中调用时 对象名.方法名(参数名)
2访问修饰符 返回值类型可同可不同
六、this 关键字
作用:1 区分属性和参数
2 调用带字符串类的构造方法
下面是一个关于选课场景的简单练习
其中包括:定义类的方法、实例化对象、两种方法的构造和方法重载 this的两种用途的应用
public class Manager { public static void main(String[] args) {
//实例化对象
People p1 = new People("张三");
People p2 = new People();
p1.select();
//方法的调用
PE pe = new PE();
pe.setName("瑜伽课");
p2.select(pe); }
}
//定义一个类 public class People {
//定义名字属性
public String name;
//带参的构造方法
public People(String name){ this.name=name;
}
//方法重载 public People(){ this("王二");
}
//定义选课方法 public void select(){
System.out.println("教务系统崩溃了,"+name+"没有选到课"); }
public void select(PE pe){
System.out.println(name+"选了一节"+pe.getName()+"。"); }
}
public class PE {
//定义名字属性
public String name;
//定义设置名字的方法
public void setName(String name){ this.name=name; }
// 定义获取名字的方法
public String getName(){ return name; }
}