类和对象知识点整理

1.面向对象

(1) 面向对象的核心:

  • 找对象;
  • 创建对象;
  • 使用对象。

(2) 面向对象的特点:

  • 面向对象是一种常见的思想,比较符合人们的思考习惯;
  • 面向对象可以将复杂的业务逻辑简单化,增强代码复用性;
  • 面向对象具有抽象、封装、继承、多态等特性。

2.类和对象

(1) 类:就是一类对象的统称,类相当于一个模板;

(2) 属性:对象具有的各种特征(每个对象的属性都拥有特定值);

(3) 方法:对象执行的操作;

(4) 类的特点:类是对象的类型,是具有相同属性和方法的一组对象的集合;

(5) 对象:就是这一类具体化的实例,对象是由模板产生的样本;

(6)类和对象的关系:一个类主要包含一个事物的属性和行为;一个类,可以产生无数的对象。

3.类和类的实例化

(1) 定义类

  • 声明一个类就是创建一个新的数据类型,而类在 Java 中属于引用类型, Java 使用关键字 class 来声明类;

  • 示例:

    class Person {
          
          
        public int age;//成员属性 实例变量
        public String name;
        public String sex;
        public void eat() {
          
          //成员方法
           System.out.println("吃饭!");  
       }
        public void sleep() {
          
          
           System.out.println("睡觉!");  
       }
    }
    

(2) 类的实例化

  • 用类类型创建对象的过程,称为类的实例化;

  • 一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量;

  • 示例:

    class Person {
          
          
        public int age;//成员属性 实例变量
        public String name;
        public String sex;
        public void eat() {
          
          //成员方法
           System.out.println("吃饭!");  
       }
        public void sleep() {
          
          
           System.out.println("睡觉!");  
       }
    }
    public class Main{
          
          
     public static void main(String[] args) {
          
          
            Person person = new Person();//通过new实例化对象  person-->引用变量
            person.eat();//成员方法调用需要通过对象的引用调用  访问-->引用.方法
            person.sleep();
            //产生对象     实例化对象
            Person person2 = new Person();
            Person person3 = new Person();
     }
    }
    

4.成员变量和局部变量

(1) 作用域不同

  • 局部变量的作用域:局部变量在方法的内部,;
  • 成员变量的作用域:成员变量在类的内部,方法的外部,作用在整个类;两类变量同名时,局部变量具有更高的优先级

(2)初始值不同

  • 局部变量需要初始化;成员变量Java中会有一个默认值,可以不初始化;

(3) 存储位置不同:

  • 局部变量在栈上;成员变量在堆上。

5. static关键字

(1) 修饰属性

  • 静态成员变量(类变量)访问:类名.属性(建议);
  • Java静态属性和类相关, 和具体的实例无关,不需要实例化对象;
  • 静态成员变量,不存在与对象里面,在方法区;

(2) 修饰方法

  • 在任何方法上应用 static 关键字,此方法称为静态方法;
  • 静态方法属于类,而不属于类的对象,无需创建类的实例;
  • 静态方法可以访问静态数据成员,并可以更改静态数据成员的值;
  • 在普通成员方法中不可以定义一个静态成员变量,如果在方法的内部,是一个局部变量,作用域在方法的内部,而被static修饰又是全局可见的,二者相互矛盾;
  • 在静态方法的内部不可以调用普通的成员方法,静态方法的本身不依赖于对象。

Guess you like

Origin blog.csdn.net/ccyzq/article/details/121010344