java类与对象 , 封装 , 构造方法

博主头像

🌠个人主页 : @赶路人- -
🌌个人格言 :

要努力成为梧桐,让喜鹊在这里栖息。
要努力成为大海,让百川在这里聚积。

Never give up, Never lose the opportunity to succeed.

🤓类与对象

初步认知

面向对象思想概述

  • 面向对象是思考问题的一种思考方式 , 是一种思想.(如同: 概念与实例. 理论与实践 .等等)
  • 类是一类对象的统称 . 对象就是这一类具体化的一个实例 .
  • 面向对象的好处 : 将复杂的事情简单化 , 只要面对一个对象就行了 .

简单来说c语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。JAVA是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。

面向过程注重的是过程,在整个过程中所涉及的行为,就是功能。(当需要实现一个功能的时候 , 每一个具体的步骤都要亲力亲为 , 详细处理每一个细节)

面向对象注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来(当需要实现一个功能的时候 , 不用关心具体的步骤 , 而是找一个已经具备该功能的人 , 来帮我做事 .)

public class test{
   public static void main(String[] args) {
        int[] array = {10,20,30,40,50};
         //要求打印格式为, [10,20,30,40,50]
        //使用面向过程,每一步细节都要亲力亲为
        System.out.print("[");
        for (int i = 0; i < array.length; i++) {
            if(i==array.length-1){//如果是最后一个元素
                System.out.print(array[i] + "]");
            }else{//不是最后一个元素
                System.out.print(array[i] + ", ");
            }
        }
        System.out.println();
        System.out.println("==================");
        
        //使用面向对象,找一个已经具备该功能的人,来帮我做事
        //找一个JDK给我们提供好的Arrays类 , 
        //其中有一个toString方法, 直接就能把数组变成想要的格式的字符串
        
       System.out.println(Arrays.toString(array));
    }
}

输出结果

[10, 20, 30, 40, 50]
==============
[10, 20, 30, 40, 50]

  • 特点
  • 面向对象思想是一种更符合我们思考习惯的思想 , 它可以将复杂的事情简单化 , 并将我们从执行者变成了指挥者
  • 面向对象的语言中 ,
    包含三大基本特征 , 即封装 . 继承 和多态.

类与对象

环顾周围 , 你会发现很多对象 , 比如桌子 , 椅子 , 同学 , 老师等 . 桌椅属于办公用品 , 师生是人类 . 那么什么是类呢 ? 什么是对象呢 ?

  • 类: 是一组相关属性和行为的集合 . 可以看成是一类事物的模板 , 使用事物的属性特征和行为特征来描述该类.
  • 属性: 就是该事物的状态信息 .
  • 行为: 就是该事物能够做什么 .
  • 属性: 名字 , 体重 , 年龄 , 颜色.
  • 行为:  走,跑,叫
  • 对象: 是一类事物的具体体现 . 对象是类的一个实例 (这里的对象不是男/女 朋友哈 !) , 必然具备该类事物的属性和行为 .

实例化

基本语法

// 创建类
class <class_name>{
	field;//成员属性
	method;//成员方法
}

//实例化对象
<class_name><对象名> = new <class_name>();

class为定义类的关键字,ClassName为类的名字,{}中为类的主体。 类中的元素称为:成员属性。类中的函数称为:成员方法。
示例

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.eat();//成员方法调用需要通过对象的引用调用
		person.sleep();
		//产生对象     实例化对象
		Person person2 = new Person();
		Person person3 = new Pwrson();
	}
}

输出结果为:
吃饭!
睡觉!

成员变量和成员方法

成员变量是定义在类内部、方法外部的变量。也称为字段或属性。在Java中,成员变量可以使用访问修饰符进行修饰以控制其访问权限。常见的访问修饰符有public、private、protected和默认访问权限。下面是一个示例:

public class Person {
    private int age; // 私有成员变量,只能在本类中访问
    public String name; // 公有成员变量,任何地方都可以访问
}

成员方法是定义在类中的函数,用于描述对象的行为。同样地,成员方法也可以使用访问修饰符进行修饰。以下是一个简单的示例:

public class Person {
    // 成员变量
    private int age;
    public String name;

    // 成员方法,用于获取年龄
    public int getAge() {
        return age;
    }

    // 成员方法,用于设置年龄
    public void setAge(int age) {
        this.age = age;
    }
}

在上面的示例中,getAge和setAge就是Person类的两个成员方法,分别用于获取和设置age成员变量的值。

🤓封装

封装是面向对象编程的重要特性之一,它通过将数据(成员变量)和行为(成员方法)捆绑在一起,并对外部隐藏对象的工作原理,从而确保了数据的安全性和完整性。在Java中,我们通常会将成员变量定义为private,并提供公有的getter和setter方法来访问和修改这些成员变量。
public:表示公有的,在任何地方都可以访问。
private:表示私有的,只有在本类中可以访问。
protected:表示受保护的,只有同一个包内的类或子类可以访问。
default:即默认的,在同一个包内可以访问。

🤓构造方法

构造方法是一种特殊类型的方法,用于创建对象并初始化对象的状态。构造方法的名称必须与类名完全相同,并且没有返回类型。在Java中,如果我们不提供任何构造方法,编译器将会自动提供一个无参的构造方法。如果我们手动提供了构造方法,编译器将不会再提供默认的构造方法。下面是一个简单的构造方法示例:

public class Person {
    private int age; // 私有属性,只能在本类中访问
    public String name; // 公有属性,任何地方都可以访问

    // 构造方法
    public Person(int age, String name) {
        this.age = age;
        this.name = name;
    }

    // 公有方法,用于获取年龄
    public int getAge() {
        return age;
    }

    // 公有方法,用于设置年龄
    public void setAge(int age) {
        this.age = age;
    }
}


在上面的示例中,我们定义了两个构造方法,一个是无参构造方法用于创建对象并初始化状态,另一个是有参构造方法用于提供初始化参数。

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值