zoukankan      html  css  js  c++  java
  • 9、一切都是对象

    在Java世界中一切都被视为对象。尽管一切都看做对象,但操作的标识符实际上就是一个对象的引用,也就是说你拥有一个引用,并不一定需要一个对象与它关联。因此在操作一个对象之前,则可以先创建一个引用,例如:

    String s; // 这是一个String类对象的引用

    这里创建的只是引用,并不是对象,这是调用s返回消息那么就会显示错误。 所以必须创建对象。

    一旦创建了 一个引用,就希望它与一个对象关联,通常用new操作符来实现这一个目的。 例如:

    s = new String();

    一个对象是如何 存储在内存中的呢?

    • 寄存器:这是最快的存储区,但是 数量极其有限,所以我们不能直接控制寄存器,在程序中也感觉不到寄存器的存在。
    • 堆栈:位于通用RAM(随机访问存储器中)这是一个快速有效的储存方法。创建程序是Java系统必须知道所有存储在堆栈中的所有项的生命周期,这点约束了程序的灵活性,所以堆栈中-存储引用,但是java对象并不在其中
    • 堆:内存池中没有生命周期的限定,所以在这个区域内存储java对象。

         

         

         

         

         

    9.1 类

    类是决定对象外观和行为的类型。通过class关键字创建, 后面紧跟类名:例如:

    class People{

        /* 这是一个类 */

    }

    那么现在我们就可以来创建一个类的对象:

    People people = new People(); // 创建People类型的对象

    现在这个类没有定义方法和属性,它什么都不能做。

    9.1.1 字段和方法

       

    一旦定义了一个类那么就可以在类中定义两个元素:

    • 字段: 是任何一种数据类型的引用,也可以是任何一种基本数据类型的一种
    • 方法: 这个操作字段,或者是行为

         

         

      例如:

      人有姓名: 可以在People类中定义一个String类型的字段存储名字

      人说出自己的名字,定义一个方法说出自己名字:

    /**

    * 定义一people

    * @ClassName: People

    * @Description: TODO(这里用一句话描述这个类的作用)

    * @author zjkorder

    * @date 20151211 下午1:21:57

    *

    */

    class People{

          

        String name = "张三"; // 定义String类型的字段储存张三的名字

          

        /**

         * 定义一个方法叫自我介绍 来说出自己的名字

         * @Title: introduceMyself

         * @Description: TODO(这里用一句话描述这个方法的作用)

         * @param 设定文件

         * @return void

         * @throws

         *

         */

        public void introduceMyself(){

            System.out.println("我叫"+name);

        }

    }

    在类中的字段都有默认值,基本数据类型的默认值是:

    Boolean

    False

    Char

    Null

    Byte

    0

    Short

    0

    Int

    0

    Long

    0L

    Float

    0.0f

    Double

    o.0

       

    9.1.2 方法

       

    方法的基本组成部分包括:名称,参数,返回值和方法体

     9.1.3面向对象的三个特性:

     

    • 封装性:就是将数据和数据的操作封装在一起,

    • 继承: 子类可以继承父类的属性和功能,即子类继承了父类所有的数据和数据上的操作,同时又可以添加子类独有的数据和数据上的操作。

    • 多态:有两种意义上的多态

    1. 操作名称的多态:即多个操作具有相同的名字,但这些消息所接收的消息类型必须不同。

    2. 和继承有关的多态:同一个操作被不同类型对象调用时可能产生不同的行为。

  • 相关阅读:
    Java反射机制DOME
    Contos7 装bcm4312无线网卡驱动
    windows8.1+centos7双系统(装完centos后无win8引导)
    request+response
    HTTP协议+servlet配置
    类加载和反射
    线程池+线程安全
    IO流之Properties(String键值对)+序列流+打印流+commons-IO(最终流程)
    IO流之字节流 +字符流 (复制文件)
    IO流
  • 原文地址:https://www.cnblogs.com/zjkorder/p/5038746.html
Copyright © 2011-2022 走看看