美文网首页
JAVA的对象和类

JAVA的对象和类

作者: TESTME | 来源:发表于2018-09-16 15:03 被阅读0次

    作为面向对象的语言,支持以下基本概念:
    多态、继承、封装、抽象、类、对象、实例、方法、重载。
    其中类和对象是面向对象的核心概念。

    1.对象

    对象就是客观世界中存在的人、事、物体等实体在计算机逻辑中的映射。
    对象是类的实例化。一些对象是活的,一些对象不是。在现实生活中一个实体就是一个对象,如一个人、一个气球、一台计算机等都是对象。比如这辆汽车、这个人、这间房子、这张桌子、这株植物、这张支票、这件雨衣。 概括来说就是:万物皆对象。在面向对象的程序设计中,对象是系统中的基本运行实体,是代码和数据的集合。在应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象,它既可以是具体的物理实体的抽象,也可以是人为的概念,或者是人和有明确边界和意义的东西。

    类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
    类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

    2.类

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

    public class Dog{
      String breed;
      int age;
      String color;
      
      void barking(){
      }
     
      void hungry(){
      }
     
      void sleeping(){
      }
    }
    

    3.构造方法

    每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。一旦显示定义了一个构造函数,就不会再生成默认的构造函数

    在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。

    public class Dog{
        public Dog(){
        }
     
        public Dog(String breed){
            // 这个构造器仅有一个参数:breed
        }
    }
    

    4.创建对象

    对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:
    声明:声明一个对象,包括对象名称和对象类型。
    实例化:使用关键字new来创建一个对象。
    初始化:使用new创建对象时,会调用构造方法初始化对象。

    Dog myDog = new Dog("Tonny");
    

    5.访问实例变量和方法

    Dog myDog = new Dog("Tonny")
    myDog.age = 2; //实例变量
    myDog.agr();    //方法
    

    6.源文件声明规则

    当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则。
    一个源文件中只能有一个public类,但可以有多个非public类
    源文件的名称应该和public类的类名保持一致。例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java。
    如果一个类定义在某个包中,那么package语句应该在源文件的首行。
    如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面。
    import语句和package语句对源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明。

    为什么JAVA文件中只能含有一个Public类?
    Java 程序是从一个 public 类的 main 函数开始执行的,(其实是main线程),就像 C 程序 是从 main() 函数开始执行一样。 只能有一个 public 类是为了给类装载器提供方便。 一个 public 类只能定义在以它的类名为文件名的文件中。
    每个编译单元(文件)都只有一个 public 类。因为每个编译单元都只能有一个公共接口,用 public 类来表现。该接口可以按照要求包含众多的支持包访问权限的类。如果有一个以上的 public 类,编译器就会报错。 并且 public类的名称必须与文件名相同(严格区分大小写)。 当然一个编译单元内也可以没有 public 类。

    7.包

    包主要用来对类和接口进行分类。当开发Java程序时,可能编写成百上千的类,因此很有必要对类和接口进行分类。

    8.import

    在Java中,如果给出一个完整的限定名,包括包名、类名,那么Java编译器就可以很容易地定位到源代码或者类。import就是用来提供一个合理的路径,使得编译器可以找到某个类。
    下面的命令行将会命令编译器载入java_installation/java/io路径下的所有类

    import java.io.*
    

    Java因强制要求类名(唯一的public类)和文件名统一,因此在引用其它类时无需显式声明。在编译时,编译器会根据类名去寻找同名文件。

    相关文章

      网友评论

          本文标题:JAVA的对象和类

          本文链接:https://www.haomeiwen.com/subject/zcuxnftx.html