今日内容
-
面向对象思想
-
类与对象
-
private和this关键字
-
构造方法
一、面向对象的思想
面向对象是一种基于面向过程的编程思想
面向过程:
强调的是执行过程
面向对象
强调的是对象,它把过程交给了对象去完成
面向对象举例:
二、类与对象的关系
面向对象思想,其就是在模拟现实中的事物
1.现实中如何描述事物
属性:事物的基本信息
行为:事物具备的能力
2.Java如何描述事物
Java类 事物
成员变量 属性
成员方法 行为
3.类与对象的关系
类:用来描述事物的
对象:是类的一个具体体现
举例:模具是一个类,根据模具造出来的东西就是对象
4.定义类和创建对象
定义学生类:
学生的属性:姓名,年龄
学生的行为:吃饭,睡觉
public class Student{
//成员变量
String name;
int age;
//成员方法
public void eat(){
System.out.println("吃饭");
}
public void sleep(){
System.out.println("睡觉");
}
}
public class StudentTest{
public static void main(String[] args){
//创建对象:类名 对象名=new 类名();
Student s=new Student();
//给属性赋值
s.name="张三";
s.age=18;
//输出所有的属性值
System.out.println("姓名:"+s.name);
System.out.println("年龄:"+s.age);
//调用对象的方法
s.eat();
s.sleep();
}
}
三、private和this关键字
1.private的特点
private 是一个修饰符,可以修饰成员变量,也可以修饰成员方法
被private修饰的成员,只能在本来中访问
2.private常见的用法
1)把类的成员变量用private修饰
2)对外提供getXxx和setXxx方法,修改或者获取属性值
3.this关键字
this表示本类对象的引用,当成员变量和局部变量同名时,可以用this区分
举例:
public class Student{
//把成员变量私有化
private String name;
private int age;
//提供getXxx和setXxx
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
}
四、构造方法
-
1.构造方法的理解
构造方法格式 public 类名(...){ } 构造方法的作用 给对象做初始化操作的,一般给成员变量赋值 (对象一被创建,就需要执行的操作) 构造方法什么时候执行 new 对象的时候执行 构造方法的注意事项 a:如果没有写构造方法,系统会有一个默认的空参数构造方法 b:如果写了构造方法,原来的默认空参数构造方法,就不再提供了 为了防止报错,自己添加一个空参数构造方法
-
2.代码演示
//定义学生类 public class Student{ //把成员变量私有化 private String name; private int age; //空构造方法 public Student(){ } //有参数构造方法 public Student(String name,int age){ this.name=name; this.age=age; } //提供getXxx和setXxx public void setName(String name){ this.name=name; } public String getName(){ return name; } public void setAge(int age){ this.age=age; } public int getAge(){ return age; } } //在测试类中,创建Student对象 public class Test{ public static void main(String[] args){ Student s=new Student();//调用空参数构造方法,创建对象 s.setName("张三");//给对象设置姓名 s.setAge(18);//给对象设置年龄 System.out.println(s.getName()+","+s.getAge());//张三,18 Student s2=new Student("李四",20);//调用有参数构造方法,创建对象 System.out.println(s2.getName()+","+s2.getAge());//李四,20 } }