0
点赞
收藏
分享

微信扫一扫

Java面向对象-----知识点整理

_铁马冰河_ 2022-03-22 阅读 84
java

一 面向过程和面向对象的对比

面向对象:

面向过程,pop。面向对象oop。

二者都是一种思想,面向对象是相对于面向过程而言的。面向过程强调的是功能行为,以方法为最小单位。考虑的是怎么去做

        面向对象是将功能封装进对象。强调的是具备了功能的对象。以类或者对象为最小单位。考虑是来做
        比如: 钻木取火和打火机

三大特点:

封装:

核心思想就是“隐藏细节”、“数据安全”,将对象不需要让外界访问的成员变量和方法私有化,只提供符合开发者意愿的公有方法来访问这些数据和逻辑,保证了数据的安全和程序的稳定。所有的内容对外部不可见。


继承:

子类可以继承父类的属性和方法,并对其进行拓展。将其他的功能继承下来继续发展 。


多态:

        同一种类型的对象执行同一个方法时可以表现出不同的行为特征。通过继承的上下转型、接口的回调以及方法的重写和重载可以实现多态。方法的重载本身就是一个多态性的体现。

三大思想:

面向对象思想从概念上讲分为以下三种:OOA、OOD、OOP

OOA:面向对象分析(Object Oriented Analysis)

OOD:面向对象设计(Object Oriented Design)

OOP:面向对象程序(Object Oriented Programming )

二 类和对象的关系

Java语言的基本元素: 类和对象

类(Class)和对象(Object)是面向对象的核心概念


1 类是对一类事物的描述,是抽象的概念上的定义。
        包括:属性(有哪些特点)行为(能做什么)
        对象是实际存在的该类事物的每个个体,因而也称之为实例。
   
        二者之间的关系:类是对象的模板,对象是类的实体/实例(具体的个体)
   
2 万事万物皆对象  

3 例子 <人>
        人类=抽象概念的人,有胳膊有腿...  
        对象=实实在在存在的某个人,比如张三 老王

三 类与对象

创建对象的格式:
    类名 对象名 = new 类名();
调用成员变量格式:
    对象名.成员变量名
调用成员方法格式:
    对象名.成员方法名();
package com.itheima.object1;

public class Student {
    // 属性 : 姓名,年龄
    // 成员变量 : 和之前定义变量的格式一样

    String name;
    int age;

    // 行为 : 学习
    // 成员方法 : 和之前定义方法的格式一样,只是少了static
    public void study() {
        System.out.println("学习");
    }
}
package com.itheima.object1;

public class TestStudent {
    /*
        创建对象的格式:
            类名 对象名 = new 类名();
        调用成员变量格式:
            对象名.成员变量名
        调用成员方法格式:
            对象名.成员方法名();
     */

    public static void main(String[] args) {
        // 类名 对象名 = new 类名();
        Student stu = new Student();
        // 对象名.成员变量名;
        System.out.println(stu.name);  // null
        System.out.println(stu.age);   //  0

        stu.name = "张三";
        stu.age = 23;
        System.out.println(stu.name);  // 张三
        System.out.println(stu.age);   //  23

        // 对象名.成员方法名();
        stu.study();

        // 全类名(包名 + 类名)
        System.out.println(stu);  // com.itheima.object1.Student@b4c966a

    }
}

  • 类必须编写在.java文件中;
  • 一个.java文件中,可以存在N个类,但是只能存在一个public修饰的类;
  • .java文件的文件名必须与public修饰的类名完全一直;
  • 同一个包中不能有重名的类;

案例 :手机类

创建一个类,类名为Phone
        编写Phone类的成员变量(字符串类型的品牌,整数类型的价格)
        编写Phone类的成员方法(打电话,发短信)

package com.itheima.object2;

public class Phone {
    // 品牌,价格
    String brand;
    int price;

    // 打电话,发短信
    public void call(String name) {
        System.out.println("给" + name + "打电话");
    }

    public void sendMessage() {
        System.out.println("群发短信");
    }
}
package com.itheima.object2;

public class TestPhone {
    public static void main(String[] args) {
        // 1. 创建对象
        Phone p = new Phone();
        // 2.给成员变量赋值
        p.brand = "苹果";
        p.price = 6799;
        // 3.打印赋值后的成员变量
        System.out.println(p.brand + "..." + p.price);
        // 4. 调用成员方法
        p.call("阿强");
        p.sendMessage();
    }
}

 封装:

 

 

 

 

 

举报

相关推荐

0 条评论