面向对象基础复习

面向对象基础复习

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;
    }
}
posted on 2022-04-19 19:53  Cafune-Ding  阅读(43)  评论(0)    收藏  举报