zoukankan      html  css  js  c++  java
  • 对象与类

    什么是对象?

    对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等:类是一个模板,它描述一类对象的行为和状态。

    下图中男孩女孩为类,而具体的每个人为该类的对象:

    Java中的对象

    现在让我们深入了解什么是对象。看看周围真实的世界,会发现身边有很多对象,车,狗,人等等。所有这些对象都有自己的状态和行为。

    拿一条狗来举例,它的状态有:名字、品种、颜色,行为有:叫、摇尾巴和跑。

    对比现实对象和软件对象,它们之间十分相似。

    软件对象也有状态和行为。软件对象的状态就是属性,行为通过方法体现。

    在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成

    Java中的类

    类可以看成是创建Java对象的模板。

    通过下面一个简单的类来理解下Java中类的定义:

    public class Dog{
    String name;
    int age;
    String color;
    void barking(){
    System.out.println("汪汪");
    };
    void bread(){
    System.out.println("我要啃骨头");
    };
    void sleeping(){
    System.out.println("我要睡觉");
    };
    }

    一个类可以包含以下类型变量:

    • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
    • 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
    • 类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。

    一个类可以拥有多个方法,在上面的例子中:barking()、bread ()和sleeping()都是Dog类的方法。(方法就是一个功能块下一节详细介绍)

    如何创建对象:
    使用new来创建对象。
    例子:
    import java.util.*;
    
    public class Main
    {
        public static void main(String[] args)
        {
            Dog dog=new Dog();
            dog.name="小黄";
            dog.age=2;
            dog.color="黄色";
            dog.oneseif();
            dog.barking();
            dog.bread();
            dog.sleeping();
            
        }
    }
     class Dog{
        String name;
        int age; 
        String color;
        void barking(){ 
            System.out.println("汪汪");
        };
        void bread(){ 
            System.out.println("我啃");
        };
        void sleeping(){
            System.out.println("我要睡觉");
        };
        void oneseif(){
            System.out.println("我是"+name+"年龄"+age+"毛发颜色"+color);
        }
    }

    控制台打印:

    我是小黄年龄2毛发颜色黄色
    汪汪
    我啃
    我要睡觉

    总结:类就是一个模块,对象是一个具有属性和方法的。

    你不会的东西,觉得难的东西,一定不要躲。先搞明白,后精湛,你就比别人优秀了。因为大部分人都不舍得花力气去钻研,自动淘汰,所以你执着的努力,就占了大便宜。奋斗就是每一天都很难,可一年比一年容易。不奋斗就是每一天都很容易,可一年比一年越难。怕吃苦的人吃苦一辈子,不怕吃苦的人吃苦一阵子。拼一个春夏秋冬,赢一个无悔人生
  • 相关阅读:
    warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    Windows10+CLion+OpenCV4.5.2开发环境搭建
    Android解决部分机型WebView播放视频全屏按钮灰色无法点击、点击全屏白屏无法播放等问题
    MediaCodec.configure Picture Width(1080) or Height(2163) invalid, should N*2
    tesseract
    Caer -- a friendly API wrapper for OpenCV
    Integrating OpenCV python tool into one SKlearn MNIST example for supporting prediction
    Integrating Hub with one sklearn mnist example
    What is WSGI (Web Server Gateway Interface)?
    Hub --- 机器学习燃料(数据)的仓库
  • 原文地址:https://www.cnblogs.com/ahJava/p/9955650.html
Copyright © 2011-2022 走看看