Java面向对象第一部分

22 阅读5分钟

一、类和对象

1.概述

什么是对象
        万物皆对象,客观存在的事物皆为对象
        象具有的各种特征,每个对象的每个属性都拥有特定的值
        对象的行为:对象能够执行的操作
什么是类
        类是对现实生活中一类具有共同属性和行为的事物的抽象。
        特点: ①类是对象的数据类型; ②类是具有相同属性和行为的一组对象的集合。
类和对象的关系
        类:对现实生活中一类具有共同属性和行为的事物的抽象
        对象:理解为能够看得到摸的着的真实存在的实体

2.类的定义

    类的意义
        类是Java程序的基本组成单位。是对现实生活中一类具有共同属性和行为的事物的抽象(确定对象将会拥有的属性和行为)。
        由属性和行为等组成
            属性:在类中通过成员变量来体现(成员变量:类中方法外的变量)
            行为:在类中通过成员方法来体现(成员方法:不含static的方法->public 返回值类型 方法名(形参){...})
     类的定义步骤
            定义类
            编写类的成员变量
            编写类的成员方法
public class Phone {
​
    //成员变量
    String brand;
    int price;
​
    //成员方法
    public void call() {
        System.out.println("打电话...");
    }
​
    public void sendMessage() {
        System.out.println("发短信");
    }
}

3.对象的创建及使用

    创建对象
        格式:类名 对象名 = new 类名();
        范例:Phone p = new Phone();
    使用对象
        1:使用成员变量
            格式:对象名.变量名
            范例:p.brand
        2:使用成员方法
            格式:对象名.方法名()
            范例:p.call()
public class Test_01类的定义入门 {
    public static void main(String[] args) {
        //创建对象
        Phone p = new Phone();
        //使用成员变量默认值
        System.out.println(p.brand + "===" + p.price);
        //修改成员变量
        p.brand = "华为";
        p.price = 5999;
        //使用成员变量修改后的值
        System.out.println(p.brand + "===" + p.price);
        //使用成员方法
        p.call();
        p.sendMessage();
    }
}

二、成员变量和局部变量

成员变量:类中方法外的变量

局部变量:方法中(或方法上)的变量

1657962341626.png

三、封装

1.private关键字

概述
    是一个权限修饰符,可以修饰成员(成员变量和成员方法等)
    作用是保护成员不被别的类随意使用,被private修饰的成员只在本类中直接访问
基本应用
    针对private修饰的成员,如果需要被其他类使用,提供相应的操作(方法)
    提供public修饰的“get变量名()”方法,用于获取成员变量的值(一般没有voidpublic int getAge() { }
​
    提供public修饰的“set变量名(参数)”方法,用于设置成员变量的值(一般有void和形参)
     public void setAge(int a) {  }
     
标准用法
    把成员变量用private修饰,提供对应的getXxx()/setXxx(参数)方法
​

2.this关键字

概述
    this修饰的变量用于指代成员变量
就近原则:
    局部变量(形参或方法中的变量)与成员变量同名,使用变量名访问的是局部变量,而不是成员变量
this的应用
    问题:当成员变量局部变量同名,想要使用成员变量,会因为就近原则,优先使用局部变量,导致局部变量隐藏了成员变量。
    this明确指向成员变量,从而解决局部变量隐藏成员变量的问题。
this内存原理
    参考资料:素材\4.this内存原理.pptx
    代表所在类的对象引用
    方法被哪个对象调用,this就代表哪个对象.
​

3.封装的理解

封装概述
    是面向对象三大特征之一(封装,继承,多态)
    是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的
封装原则
    将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
    成员变量private,提供对应的getXxx()/setXxx()方法
封装好处
    通过方法来控制成员变量的操作,提高了代码的安全性
    把代码用方法进行封装,提高了代码的复用性

4.构造方法

构造方法是一种特殊的方法,用于创建对象、对象数据初始化(这里的初始化指的是第1次主动赋值)。
定义格式
        修饰符 类名( 形式参数 ) {
                }
例如:
    public class Student {  
    public Student() {
         //构造方法内书写的内容
    }
}
使用格式
        new 类名(实际参数)
例如:
    public class StudentDemo {
    public static void main(String[] args) {
        Student s1 = new Student();
        }
    }
​

5.类的封装-标准结构

实体类的标准结构

  • 定义类-------------public class 类名{}
  • 定义成员变量--------使用private修饰成员变量
  • 定义构造方法--------无参构造、有参构造、满参构造(一般只提供无参和满参)
  • 定义成员方法--------setXxx()/getXxx()/其他方法

对象的创建与使用

  • 无参构造--------创建对象后使用setXxx()赋值
  • 有参构造--------创建对象时直接赋值

快捷操作

  • 无参构造:Alt+insert-->Construct-->selectnone
  • 有参构造:Alt+insert-->Construct-->按住Ctrl选择成员变量-->OK
  • get/set方法:Alt+insert-->getter and setter-->按住Ctrl选择成员变量-->OK
  • 除了构造方法和成员方法,其他内容手动书写完成

四、API概述

JavaAPI JDK 中提供的各种功能的Java接口和类 这些类封装了底层实现,我们无需关心实现细节,只需要学习如何使用这些类。

1658048264643.png