面向对象基础复习

面向对象基础复习

1.类(设计图):是对象共同特征的描述

对象:是真实存在的具体实例

结论:在java中,必须先设计类,才能创建对象并使用

类中成分

类中可以定义的5大成分:成员变量、构造器、成员方法、代码块、内部类

修饰符 class 类名{     //1.成员变量Field:描述类或者对象的属性信息,如:姓名、年龄     //2.成员方法Method:描述类或者对象的行为的,如:唱歌、吃饭、买票     //3.构造器Constructor:初始化一个类的对象返回     //4.内部类     //5.代码块 } 
类成分实例     public class Student{         //1.成员变量         private String name;         //2.构造器         public Student(){                      }         //3.方法         public void run(){ 		}     } 

定义类的注意事项:

  1. 类名建议首字母大写,满足驼峰模式

  2. 建议一个java文件只定义一个类

  3. 一个java文件中可以定义多个类,只能有一个类由public修饰,public修饰的类名必须是java代码的文件名称

public class Student {      } class Animal{  } class Birds{  } 

2.构造器:初始化类的对象,并返回对象的地址

构造器格式

修饰符 类名(形参列表){      } 

初始化对象格式

类名 对象变量 = new 构造器; 

构造器的分类和作用

无参构造器:初始化对象的数据为默认值;

有参构造器:在初始化对象的时候,同时为对象的数据赋值;

public class Student {     private String name;     private int age;     private char sex;      public Student() {         //无参构造器     }      public Student(String name, int age, char sex) {//有参构造器         this.name = name;         this.age = age;         this.sex = sex;     } } 

构造器注意事项:

  1. 任何类定义出来,默认自带无参构造器,写不写都有。

  2. 一旦定义了有参数构造器,无参数构造器就没有了,就需要自己手写无参构造器

3.this关键字是什么

  1. 出现在成员方法、构造器中,代表当前对象的地址。

  2. 用于指定访问当前对象的成员变量、成员方法

this出现在有参数构造器中的作用

public class car{     String name;     double price;          public Car(String n, double b){         name = n;         price = b;     } } //这种不太好 

image-20220419154555395

public class car{     String name;     double price;          public Car(String name, double price){         this.name = name;         this.price = price;     } } 

this出现在成员方法中的作用

public class car{     String name;     double price;          public void goWith(String name){       System.out.println(name + 正在和 + name + 一起比赛)     } } 
public class car{     String name;     double price;          public void goWith(String name){       System.out.println(this.name + 正在和 + this.name + 一起比赛)     } } 

this能解决什么问题?

可以用于指定访问的是当前对象的成员变量

4.面向对象的三大特征:封装、继承、多态

封装:解决属性和方法属于哪个对象的问题;

封装步骤:通常将成员变量私有、提供方法进行暴露

封装作用:提高业务功能设计的安全性,提高开发效率

如何进行更好的封装?

一般会把成员变量使用private隐藏起来,对外就不能直接访问了

提供public修饰的getter和setter方法暴露其取值和赋值

5.特征的含义

特征是指已经成为java设计代码的基本特点,即使毫无意义,通常也要需要满足这样的设计要求来编写程序;

6.标准JavaBean

也可以理解成实体类,其对象可以用于在程序中封装数据

Java中书写标准JavaBean必须满足如下要求:

  1. 成员变量使用private修饰

  2. 提供每一个成员变量对应的setXxx()/ getXxx();

  3. 必须提供一个无参构造器

public class Student {     private String name;     private int age;     private char sex;      public Student() {         //无参构造器         System.out.println(无参构造器执行);     }      public Student(String name, int age, char sex) {//有参构造器         System.out.println(有参构造器执行);         this.name = name;         this.age = age;         this.sex = sex;     }      public String getName() {         return name;     }      public void setName(String name) {         this.name = name;     }      public int getAge() {         return age;     }      public void setAge(int age) {         this.age = age;     }      public char getSex() {         return sex;     }      public void setSex(char sex) {         this.sex = sex;     } }