IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java面向对象知识(上:基础篇) -> 正文阅读

[Java知识库]Java面向对象知识(上:基础篇)

一、面向对象的思想

1、什么是面向对象

说到面向对象,与之相应的还有面向过程的。接下来我会顺带讲解面向过程。通过两者的比较,有利于更好的了解

1.1 面向过程

什么是面向过程?

【举个栗子😊】
一件事儿- 用面向过程的角度来看,把大象装进冰箱。他的步骤和顺序有:
1->打开冰箱、2->把大象塞进去、3->关闭冰箱门
这里我们着重这件事的步骤和动作

📌 面向过程 强调过程和过程中所涉及的行为(强调行为、动作、过程)

1.2 面向对象

什么是面向对象?

【举个栗子😃】
同样以上个例子为例,把大象放到冰箱这个行为。我们主要是对冰箱这个对象进行一系列操作的。所以我们可以把这些动作赋给冰箱。比如打开冰箱、存入大象、关闭冰箱等功能。

📌 面向对象 强调把一些细化的步骤组合起来称为一个整体,把功能封装到对象,由一个实例化的对象去实现这些操作,强调具备功能的对象。

在面向对象的编程思想中,往往会涉及类和对象这两个概念,下面就会给大家讲述类和对象的概念以及用法

二、类和对象

2 .1 类

什么是类

?? 类是对现实生活中的具有共同属性和行为的抽象
在这里插入图片描述

🚩打个比方:猫这个字就好比一个类,因为它是所有猫类的统称。它是对一些具体品种猫的统称和概括。
在这里插入图片描述

2.1.1 类的组成

??属性行为构成。学了类之后我们以后脑海中始终要有连锁反应——提到类,就马上想到属性和行为。

?? 属性
是对象具有的各种特征,每个对象的每个属性都有特定的值。

打一个手机的比方。手机就好比是一个类,手机有不同的品牌,有小米、苹果、魅族;有颜色,有黑色、白色;有不同的价格,有2999的、有3999的;
那么在这里品牌、颜色、价格就是手机的属性。因为每部手机都具有这些特征。
在这里插入图片描述

?? 行为
是对象能够执行的操作

同样,比如说手机,手机能执行什么操作呢?手机可以打电话发信息拍照等。因此打电话、发信息、拍照就是类的行为。
在这里插入图片描述

2 .2 对象

什么是对象
??
万物皆是对象,对象是对类的实例化。

如上面猫的比方。猫是一个抽象的类。那么猫的对象就可以具体到某一个实实在在的、看的见的猫。
在这里插入图片描述

三 、类和对象在代码中的运用

3.1 类的应用

类由属性行为构成:
?? 属性在类中用成员变量来体现(类中方法外的变量)
?? 行为在类中用成员方法来体现(相比前面的方法去掉static)

3.1.1 类定义的格式

在这里插入图片描述
下图是一个实际应用:
在这里插入图片描述

代码块
public class iphone {
    String brand; //品牌
    String model;//型号
    double price;//价格


    public void call(){
        System.out.println("打电话");

    }
    public void senMessage(){
        System.out.println("发信息");

    }


}

3.2 对象的应用

3.2.1 创建对象的格式以及调用

在这里插入图片描述

代码块
public class iPhonetest {
    public static  void main(String[] args) {
        //
        iphone p= new iphone();//创建对象
        p.brand="苹果";
        p.price=5999;
        p.model="ipad pro 2021";
        System.out.println("品牌:"+p.brand);
        System.out.println("型号: "+p.model);
        System.out.println("价格:"+p.price);
        p.call(); //调用
        p.senMessage();//调用方法


    }

}

3.3 成员变量和局部变量

1、成员变量:
?? 类中且方法外的变量。 成员变量又分为:
1?? 类变量(静态变量):
被static所修饰的成员变量,是属于类的部分,属于类的范畴。

2??实例变量(非静态变量):
没有被static修饰的成员变量,是属于类的部分,但是属于对象的范畴。

2、局部变量:
?? 定义在方法中的变量,属于方法的范畴。比如方法内定义的形参,方法内定义的变量。

3.3.1 成员变量和局部变量的区别

区别成员变量局部变量
类中位置不同类中且方法外方法内或声明上
内存中位置不同堆内存栈内存
生命周期不同随着对象的存在而存在,随着对象的消亡而消亡随着方法的调用而存在,随着方法的调用完毕而消亡
初始化不同有默认的初始化没有默认初始化值,必须先定义,赋值,才能使用。

四、封装

4.1 封装概念

??用关键字private将类中的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的访问和操作。
在这里插入图片描述

目的:直接通过对类对象的操作来达到目的,不需要对具体实现十分了解,让类的属性和方法具体实现对外不可见,起到保护作用。
在这里插入图片描述

4.2 封装的实现

封装实现的步骤
在这里插入图片描述

在前面介绍过,封装是使用关键字private来对类的某些信息进行隐藏,在外部使用提供的set()、get()方法来进行调用。下面我们将会从private开始讲起。

4.2 private关键字

private
?? 是一个权限修饰符
?? 可以修饰成员(成员变量和成员方法)
?? 作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问。针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作。
在这里插入图片描述
封装代码

    String name;
    // int age
    private  int age;
    //提供get、set方法
    public void setAge(int a){
//        age=a;
        if(a<0||a>100){
            System.out.println("你输入的年龄有误");
        }else {
            age=a;
        }
    }
    public int getAge(){
        return age;
    }
    //成员方法
    public void Get(){
        System.out.println(name+","+age);
        System.out.println("打遍天下无敌手");


    }

测试类代码

public class StudentTest {
    public static void main(String[] args) {
        Student p= new Student();
        p.name="林青霞";
//        p.age=18;
        p.setAge(30);
        p.Get();


    }



}

?? 注意 方法调用方法要在主函数内进行。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-01 14:22:10  更:2021-08-01 14:22:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 15:48:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码