zoukankan      html  css  js  c++  java
  • JAVA中的类和对象

    JAVA是面向对象的编程设计语言。

    何为“面向对象”呢,那就先了解什么是“类”和“对象”?

    1、什么是类和对象

    类(class),即具有相同或相似特征的某一类事物的统称。如人类,即“人”这一类事物,其所拥有共同的特征,如人都有发达的大脑、都直立行走、会思考、会劳动,所以才称为“人类”。

    对象(object),类中某一特定的成员。如张三、李四,他们拥有人类所有的共同特征,同时还拥有个体特有的特征,如年龄、身高、姓名。

    类是对象的抽象和概括;对象是类的实例化,是一个个具体的个体,一切事物皆对象。

    2、类的属性和方法

    类所具有的状态特征,在JAVA中称为成员变量/属性(attribute),如上所述,人类有发达的大脑。

    类所具有的行为动作,在JAVA中称为成员函数/方法(method),如上所述,人类直立行走、会思考、会劳动。

    类中的成员,包括成员属性和成员方法,如类中有3个属性,2个方法,则该类中共有5个成员。

    3、类的定义

    类就像人类的模板,对象就是使用模板创建出来的个体,所以必须先创建类之后才有对象。

    类有属性和方法,

    类的属性,即类所具备的特征,如人类的属性是有姓名、身高等

    类的方法,也称为类的函数,即类所具备的行为,如人类的方法是会说话、会劳动、会直立行走

    JAV创建类的格式如下:

    public class Test {
        public String testOne;//创建属性
        public void testTwo() {
        }//创建方法
    }

    其中,类的关键字class必填,修饰符、成员属性和成员方法及属性方法的名称等,均可变。

    以下实例,创建一个Person类,

    类源文件名必须为Person.java:

    //定义一个名为Person的类
    public class Person 
    {
        //类有三个属性,分别是name、age、job
        String name;
        int age;
        String job;
        //创建方法
        void say()
        {
            System.out.println("姓名:"+name+"
    年龄:"+age+"
    职业:"+job);
        }
    }

    注:

    如果class类名前加了修饰的public,则这个class类的源文件命名必须和类名相同,如public class Person,则类文件名必须为Person.java

     

    4、创建对象

    类创建完成后,就可以根据该类来创建对象,又叫类的实例化。

    在JAVA中,创建类的操作,是通过new操作符来完成的。

    方法一:
    类名  对象名=new 类名();

    方法二:
    类名 对象名;

    对象名=new 类名();

    public class MyTest {
        public static void main(String[] args) {
            Person zhangsan=new Person();//实例化一人对象,名为zhangsan
            zhangsan.say();//给zhangsan引用类的方法
        }
    }

    输出结果:

    姓名:null
    年龄:0
    职业:null

    只要new完成实例创建后,就是在堆内存中产生了一个实体。对象的名称,如以上实例中的zhangsan,就是一个类类型的引用变量,它存在于栈内存中,指向堆中的这个实例。

    JAVA中,堆内存中的变量都有默认初始化值。成员属性均未赋值,均取初始化默认值。

    如果创建类,初始化时,堆内存变量已附值了,这个值称为“显式初始化值”。

     创建对象,并指挥该对象做事情,在java中的方式是“对象.对象成员”。

    public class MyTest {
        public static void main(String[] args) {
            Person zhangsan=new Person();//实例化一人对象,名为zhnagsan
            zhangsan.name="张三";
            zhangsan.age=20;
            zhangsan.job="公务员";
            zhangsan.say();//给zhangsan引用类的方法
        }
    }

    输出结果:

    姓名:张三
    年龄:20
    职业:公务员

    注:在一个JAVA类源文件中,只能有一个public类。

    所以,如果类和主函数一起写在同一源文件中时,同时主函数所在类有public修饰,新创建的person类前不能有public;

    存在有public修饰的类时,源文件名也必须与该类名完全一致,如public class MyTest,源文件名必须为MyTest.java

    如下:

    public class MyTest {
        public static void main(String[] args) {
            Person1 zhangsan=new Person1();//实例化一人对象,名为zhnagsan
            zhangsan.name="张三";
            zhangsan.age=40;
            zhangsan.job="公务员";
            zhangsan.say();//给zhangsan引用类的方法
        }
    }
    //与主函数一起,在同一源文件中创建类,类前不能有public
    class Person1
    {
        //类有三个属性,分别是name、age、job
        String name;
        int age;
        String job;
        //创建方法
        void say()
        {
            System.out.println("姓名:"+name+"	年龄:"+age+"	职业:"+job);
        }
    }

    输出结果:姓名:张三  年龄:40  职业:公务员

    4、类名和对象名的命令规范

    类名:XxxXxx,第一个单词开始,首字母大写,如MyClass、ClassTest

    变量名、方法名:xxXxx,即第一个单词小写,第二个单词开始首字母大写,如myAge、myJob

    注:这是一种规范,不是规则,不强制规定必须这么写。

  • 相关阅读:
    Linux文本处理
    鲜为人知的maven标签解说
    springboot整合websocket高级版
    springboot整合swagger。完爆前后端调试
    java的干儿子锁Lock
    AbstractQueuedSynchronizer(AQS)抽丝剥茧深入了解JUC框架原理
    【优雅写代码系统】springboot+mybatis+pagehelper+mybatisplus+druid教你如何优雅写代码
    居然还有人这样解说mybatis运行原理
    mybatis精讲(七)--动态sql
    基于redis实现分布式锁
  • 原文地址:https://www.cnblogs.com/ibelieve618/p/6361921.html
Copyright © 2011-2022 走看看