Java新手指南:从菜鸟到编程大师的趣味之路-类和对象

这里是Themberfue 

 本章主要介绍的是Java最重要的面向对象(OOP)的基础

 面向对象

        Java是一门纯面向对象的语言,在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对食物的认知,对于大型程序的设计、扩展以及维护都非常友好。

        面向对象和面向过程的区别

                面向过程编程是一种基于过程(函数)的编程范式,程序通过一系列函数调用实现。它强调的是过程(过程就是一组指令或步骤),数据和函数是分离的。

                面向对象编程是一种基于对象的编程范式,程序由一组对象及其交互组成。每个对象包含数据和操作数据的函数(称为方法)。

举个例子:

                面向过程的例子 => 洗衣服的步骤 => 1. 收集脏衣服 2. 按颜色和材质分类 3. 将衣服放入洗衣盆 4. 加水 5. 加入洗衣粉.........

                面向对象的例子 => 使用洗衣机 => 1. 洗衣机 2. 洗涤程序

 类定义和使用

        在Java中定义类时需要用到class关键字,具体语法如下

// 创建类
class ClassName{  
    field; // 字段(属性) 或者 成员变量
    method; // 行为 或者 成员方法
}
   
class WashMachine{
    public String brand;   // 品牌
    public String type;    // 型号
    public double weight;  // 重量
    public double length;  // 长
    public double width;  // 宽
    public double height;  // 高
    public String color;   // 颜色

    public void washClothes(){   // 洗衣服
        System.out.println("洗衣功能");
    }

    public void dryClothes(){    // 脱水
        System.out.println("脱水功能");
    }

    public void setTime(){       // 定时
        System.out.println("定时功能");
    }
}

        注意事项:

                1. 类名注意采用大驼峰定义

                2. 成员前写法统一为public,后面会详细解释

类的实例化

        定义了一个类,就相当于在计算机中定义了一种新的类型。用类类型创建对象的过程,称为类的实例化,在java中采用new关键字,配合类名来实例化对象。

        用上面的例子来实例化对象

public class Main {
    public static void main(String[] args) {
        WashMachine washMachine = new WashMachine();
        washMachine.brand = "联想";
        
        washMachine.dryClothes();
    }
}

注意事项

        ·new 关键字用于创建一个对象的实例

        ·使用 . 来访问对象中的属性和方法

        ·同一个类可以创建多个实例

 this引用

        this引用指向当前对象(成员方法运行时调用该成员方法的对象),在成员方法中所有成员变量的操作,都是通过该引用去访问。只不过所有的操作对用户是透明的,即用户不需要来传递,编译器自动完成。

class Date {
    public int year;
    public int month;
    public int day;
    public void setDay(int year, int month, int day){
        this.year = year;
        this.month = month;
        this.day = day;
    }
}

        this引用的特性

                ·this的类型:对应类类型引用,即哪个对象调用就是哪个对象的引用类型

                ·this只能在"成员方法"中使用

                ·在"成员方法"中,this只能引用当前对象,不能再引用其他对象

对象的构造及初始化

        构造方法

                构造方法(也称为构造器)是一个特殊的成员方法,名字必须与类名相同,在创建对象时,由编译器自动调用,并且 在整个对象的生命周期内只调用一次。

class Date {
    public int year;
    public int month;
    public int day;

    // 构造方法:
    // 名字与类名相同,没有返回值类型,设置为void也不行
    // 一般情况下使用public修饰
    // 在创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次
    public Date(int year, int month, int day) {
        this.year = year;
        this.month = month;
        this.day = day;
    }
}

构造方法的特性:

        ·名字必须与类名相同

        ·没有返回值类型,设置为void也不行

        ·创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次(相当于人的出生,每个人只能出生一次)

        ·构造方法可以重载(用户根据自己的需求提供不同参数的构造方法)

        ·如果用户没有显式定义,编译器会生成一份默认的构造方法,生成的默认构造方法一定是无参的。

构造方法中,可以通过this调用其他构造方法来简化代码 

class Date {
    public int year;
    public int month;
    public int day;
    
    // 无参构造方法--内部给各个成员赋值初始值,该部分功能与三个参数的构造方法重复
    // 此处可以在无参构造方法中通过this调用带有三个参数的构造方法
    // 但是this(1900,1,1);必须是构造方法中第一条语句
    public Date(){
        //System.out.println(year);   注释取消掉,编译会失败
        this(1900, 1, 1);
    }

    public Date(int year, int month, int day) {
        this.year = year;
        this.month = month;
        this.day = day;
    }
}

 封装

        面向对象程序三大特性:封装、继承、多态。而类和对象阶段,主要研究的就是封装特性。何为封装呢?简单来说 就是套壳屏蔽细节。

        访问修饰限定符

                Java中主要通过类和访问权限来实现封装:类可以将数据以及封装数据的方法结合在一起,更符合人类对事物的认 知,而访问权限用来控制方法或者字段能否直接在类外使用。Java中提供了四种访问限定符:

No范围privatedefaultprotectedpublic
1同一包中的同一类
2同一包中的不同类
3不同包的子类
4不同包的非子类

多说不易必自毙,剩下的自己去悟吧~~~

 static

        static修饰的成员变量,称为静态成员变量,静态成员变量最大的特性:不属于某个具体的对象,是所有对象所共享的。

        这里我直接说特性,剩下的还是自己去悟吧😘😘😘

不属于某个具体的对象,是类方法

可以通过对象调用,也可以通过类名.静态方法名(...)方式调用,更推荐使用后者

不能在静态方法中访问任何非静态成员变量

 今天的讲解就到这里,说实话,我这教程写的一般,正经人一般也不会看到这里吧😁👌

 

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值