1.3 什么是类?
类是对现实生活中一类具有共同属性和行为的事物的抽象。
类的特点:
类是对象的数据类型
类是具有相同属性和行为的一组对象的集合
1.4 什么是对象的属性
属性:对象具有的各种特征,每个对象的每个属性都拥有特定的值。
1.5 什么是对象的行为
行为:对象能够执行的操作
1.6 类和对象的关系
类:类是对现实生活中一类具有共同属性和行为的事物的抽象
对象:是能够看得到摸的着的真实存在的实体。
类是对象的抽象
对象是类的实体
1.7 类的定义
类的重要性:是Java程序的基本组成单位。
类是什么:是对现实生活中一类具有共同属性和行为的事物的抽象,确定对象将会拥有的属性和行为
类的组成:属性和行为
属性: 在类中通过成员变量来体现(类中方法外的变量)
行为: 在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)
成员变量和局部变量的区别:
封装: private
是一个权限修饰符
可以修饰成员(成员变量和成员方法)
作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问。
针对private修饰的成员变量,如果需要被其他类使用,
提供相应的操作提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰
提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰
private int age;
public int getAge() {
return age;
}
public void setAge(int a) {
if (a<0 || a>120){
System.out.println("输入有误");
}else{
age = a;
}
}
private 关键字的使用
4.2 private关键字的使用
一个标准类的编写:
把成员变量用private修饰提供对应的getXxxx0/setxxx0方法
this的内存原理
构造方法:
package Base_One;
/*
构造方法:
作用:创建对象
功能:完成对象数据的初始化
格式:
修饰符 类名(参数){
}
*/
public class Teacher {
private String name;
private int age;
// 构造方法/构造器 ,定义之后就默认覆盖了原来的。
public Teacher(){
System.out.println("无参的构造方法");
}
public void show(){
System.out.println(name+","+age);
}
}
package Base_One;
/*
测试类
* */
public class TeacherTest {
public static void main(String[] args) {
Teacher teacher = new Teacher();
teacher.show();
// 无参的构造方法
// null,0
}
}
构造方法的注意事项:
package Base_one.Base_007;
public class Student {
private String name;
private int age;
public Student(){
System.out.println("无参");
}
//系统默认的无参构造方法 不写的话 会自动的调用
// public Student(){
//
// }
// 可以理解成构造方法的重写
public Student(String name){
this.name = name;
}
public Student(int age){
this.age = age;
}
public Student(String name, int age){
this.name = name;
this.age = age;
}
public void show(){
System.out.println(name+","+age);
}
}
package Base_one.Base_007;
public class StudentDemo {
public static void main(String[] args) {
Student student = new Student();
student.show();
Student stu = new Student("小胖");
stu.show();
Student st = new Student(11);
stu.show();
Student s = new Student("小张",11);
stu.show();
}
}
标准类的制作:
package Base_one.Base_007;
public class Teacher {
private String name;
private int age;
// 无参构造方法
public Teacher() {
}
public Teacher(String name, int age){
this.name = name;
this.age = age;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void show(){
System.out.println(name+","+age);
}
}
package Base_one.Base_007;
public class TeacherDemo {
public static void main(String[] args) {
// 无参构造方法创建对象后使用set方法赋值
Teacher s1 = new Teacher();
s1.setName("小华");
s1.setAge(19);
s1.show();
// 有参的构造方法
Teacher s2 = new Teacher("小李",22);
s2.show();
}
}