`
qianjiangbing
  • 浏览: 88393 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Java面向对象思维、静态、类和对象的理解

 
阅读更多

 

 public class Dog{
      static String type;//狗的品种
      String name;//狗的姓名
      int age;//狗的年龄
      public static void main(String[] a){
              Dog dog=new Dog();
              dog.type="藏獒";
              dog.name="大黄";
              dog.age=3;
              System.out.println(dog.name+"是"+dog.name+",今年"+dog.age+"岁");    
              dog.run();
              dog.bite();              
 }
    public void run(){
          System.out.println("会跑");
     }
    public void bite(){
          System.out.println("会咬人");
     }
} 

 

        今天又重温了一遍Java,对Java的面向对象思想又有了进一步的了解,当然理解还是很肤浅的。现与大家分享一下我对Java的静态、类和对象的理解。

        那么面向对象的思想是如何运用到Java编程中的呢?打个比方,我想在程序里创造一只狗,那么怎么来描述这条狗,首先可以从特征和行为两个方面来描述,比如狗有品种,名字,年龄等特征,狗会跑、咬人等行为。那么用上面的代码创造一只简单的狗,这只狗“叫大黄,是藏獒,今年3岁,会跑,会咬人”。有人问现在这条狗是什么颜色,有叫的行为吗,对不起,没有。因为你在程序中只为这只狗创造了“品种”、“名字”和“年龄”3个特征和“跑”、“咬人”2个行为,再也没别的了。这个时候正是体现面向对象思维在Java程序中应用,我想让这条狗有颜色,能吃饭,那么我就可以为狗添加一个颜色的特征和吃饭的行为。所谓面向对象就是将狗看着是一个对象,用的Java语言将这个对象描述出来。换句话,对象的所有特征和行为都可以用Java语言描述出来。下面看看Java程序运行的过程是怎样的?

       1.Java程序先编译生成Dog.class类文件;

       2.Java程序在运行的时候首先加载类,那么这里就首先加载了Dog.class类,为type分配了内存空间。


 

          3.运行main方法,此时创建Dog对象,为name和age分配内存空间,然后将对象的地址指向dog,同时对象也指向了品种“type”。代码dog.name="大黄",执行后将内存中name赋值为“大黄”,同理,代码“dog.age=3”执行后,将内存中age赋值为“3”。代码“dog.type="藏獒"”,将type赋值为“藏獒”。运行图如下:



         4.大家可能会有一个疑问,为什么一开始就给“type”分配了内存,因为type是静态的,在编译后就分配分配,而且内存会一直存在,直到程序退出内存才会释放这个空间。

         5.为什么对象指向类中的type,因为对象可以指向类,类是对象的模板,正如做月饼一样,用面粉和芯可以在模子里刻出一个月饼来,模子是圆的刻出的月饼就是圆的,模子是方的,月饼就是方的。这里的type正如模子的形状一样,决定月饼的方圆,而且唯一。

        说的不好,希望大家多多指正!

  • 大小: 4.6 KB
  • 大小: 10.6 KB
2
0
分享到:
评论

相关推荐

    java面向对象.pdf

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向...

    Java实验二_类和对象_艾孜尔江·艾尔斯兰著.zip

    本资源主要讲述了Java语言的特性并通过实验的形式阐明了Java语言的类和对象,由于艾孜尔江亲自执笔...Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

    Java技术参考手册_java_

    Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。...

    Java学习必要的软件包

    Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 [1] 。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等...

    java基础思维导图,涵盖入门,数据类型,结构,面向对象,异常,字符串,异常等章节

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向...

    Java8的官方文档

    Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 ...

    Java技术参考手册.docx

    Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。...

    java语言程序设计类与对象

    java语言程序设计A,第三讲类与对象,Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向...

    Java编程开发培训 基础入门到精通

    Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了...

    Java概念题汇总+目录表

    Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 [1] 。 Java具有简单性、面向对象、 分布式、 健壮性、 安全性、平台独立与可移植性、 多线程、动态...

    狂神java基础源代码.zip

    Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。...

    java语言编程知识总结

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向...

    Java编程开发培训视频教程(小白到大神)

    Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了...

    Java编程开发培训视频教程【从入门到大师】

    Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了...

    JAVA经典算法案例.pdf

    Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 [1] 。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等...

    30张Java思维导图.zip

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向...

    Java学习笔记

    自己在java学习过程中的笔记,从最基础的创建java环境,java的基础知识,java变量的内存存储过程,到...Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程

    2020Java面试汇总无水印.pdf

    Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 [1] 。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等...

    JavaSE回顾总结(狂神说java).xmind

    Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。...

    Java学习参考手册API.chm

    Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点...

Global site tag (gtag.js) - Google Analytics