return 语句的作用:1.返回值 2.结束某个方法的执行。

局部变量必需要初始化,全局变量系统会默认初始值;

整型数赋默认值为0.

浮点数赋默认值为0.0,boolean赋默认值为false。

char型赋默认值为‘\u0000’。

复杂类型赋默认值为null。

栈是执行时的单位。而堆是存储的单位

栈:自己主动分配连续的空间,后进先出,放置局部变量

堆:不连续。放置new出来的变量

堆里面还有方法区,类的代码信息。static变量,常量池(字符串常量等)

public class Animal {

      String name="Animal";

      int age=2;

      public void eat(){

          System.out.println("Animal eat");

      }

}

public class Bird extends Animal{

    String name="Bird";

     int age=20;

    public void eat(){

        System.out.println("Bird eat...");

    }

    public void sleep(){

        System.out.println("Bird sleep....");

    }

}

向上转型

        Animal a=new Bird();    

        a.eat();

      //  此处将调用子类的eat()方法。

原因:b实际指向的是Bird子类,故调用时会调用子类本身的方法。

// a.sleep();  

      //须要注意的是向上转型时a会遗失除与父类对象共同拥有的其它方法。

如本例中的sleep()方法不再为a全部。

向下转型

        Bird b=(Bird)a;

        b.eat();

       //向下转型,编译和执行皆不会出错,这里的向下转型是安全的。由于b1指向的是子类对象

       Animal a1=new Animal();

       Bird b1=(Bird)a1;   //不安全的向下转型,编译无错但会执行会出错

       b1.eat();            //这句话执行会出错

java里的一些特别值得注意的地方的更多相关文章

  1. SQL指令中一些特别值得注意的地方

    SQL基本指令要频繁使用,要是理解错了,将来工作一定会出现很大的麻烦.今天再重新梳理一下基本的SQL语法 SQL指令 in: 这个指令,我曾经发生过把它和python中的in搞混的错误.python中 ...

  2. java里String类为何被设计为final

    前些天面试遇到一个非常难的关于String的问题,"String为何被设计为不可变的"?类似的问题也有"String为何被设计为final?"个人认为还是前面一 ...

  3. java里的静态成员变量是放在了堆内存还是栈内存

    转自http://bbs.csdn.NET/topics/370001490 堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息.(class的目的是得到操作指令) 2.jvm ...

  4. 一道简单的 Java 笔试题,但值得很多人反思!

    前言 面试别人,对我来说是一件新奇事,以前都是别人面试我.我清楚地知道,我在的地域与公司,难以吸引到中国的一流软件人才.所以,我特地调低了期望,很少问什么深入的技术问题,只问一些广泛的.基础的.我只要 ...

  5. 小谈Java里的线程

    今天,我们来谈一谈Java里的线程. 一.进程与线程的基本概念 大家可能没听过线程这个概念,但是相信,用计算机的朋友都听过进程这个概念.打开电脑的任务管理器,我们就可以看到许多进程.它们主要分为三类, ...

  6. java里的static和final

    本节介绍JAVA里static和final的作用和使用方法以及一些需要注意的问题. 一.static static表示"全局"或"静态",用来修饰成员变量和成员 ...

  7. java里的基本数据类型

    java里一共有八大数据类型 boolean(未定) char(2字节) byte(1字节) short(2字节) int(4字节) long(8字节) float(4字节) double(8字节), ...

  8. (转载)Java里快如闪电的线程间通讯

    转自(http://www.infoq.com/cn/articles/High-Performance-Java-Inter-Thread-Communications) 这个故事源自一个很简单的想 ...

  9. 关于java里小数点的保留

    关于java里小数点的保留 1.先给大家看一个代码. import java.util.*;import java.text.*; public class A { public static voi ...

随机推荐

  1. 开放个人电脑端口[Windows]

    先打开控制面板

  2. 【codeforces 733E】Sleep in Class

    [题目链接]:http://codeforces.com/problemset/problem/733/E [题意] 有n级台阶,每个台阶上都有一个tag; 标记着向上或向下; 你到了某级台阶,就要按 ...

  3. [terry笔记]对人员列表文件进行数据库操作

    原文件(数据已经脱敏): staff_id,name,age,phone,dept,enroll_date1,姬建明,25,152015410,运维,2013-11-012,刘海龙,26,186184 ...

  4. Html 播放 mp4格式视频提示 没有发现支持的视频格式和mime类型

    转自原文 Html 播放 mp4格式视频提示 没有发现支持的视频格式和mime类型 播放mp4格式的时候提示 Html 播放 mp4格式视频提示 没有发现支持的视频格式和mime类型 原因是在IIS中 ...

  5. HDU 5187 zhx's contest(防爆__int64 )

    Problem Description As one of the most powerful brushes, zhx is required to give his juniors n probl ...

  6. Knockout源代码精析-怎样解析demo元素,获取到bindings(二)?

    接上文这里開始分析applyBindingsToNodeInternal.applyBindingsToNodeInternal方法例如以下: function applyBindingsToNode ...

  7. 【struts2】struts2中的流接收与流发送

    [前言]在我们的struts2后端中,实现流的接收和发送.就能够实现向server传视频流以及下载图片. [流接收] 如今举一个传公钥的样例.struts2用一个action接收Key,而Key就是用 ...

  8. jQuery操作元素的属性与样式

    本文学习如何使用jQuery获取和操作元素的属性和CSS样式. 元素属性和Dom属性 对于下面这样一个标签元素: <img id='img' src="1.jpg" alt= ...

  9. IDEA模板设置

    /**   * @className: $CLASSNAME$   * @author: liuyachao   * @date: $DATE$ $TIME$ */ ================= ...

  10. 记一次"未将对象引用设置到对象的实例"问题的排查过程

    最近在给一个老项目做数据对接接口. 背景一 该项目最后更新日期为2006年,使用ASP.NET WebForm..Net2.0.OJB.Castle Avtive Record等.由于是某集团的子系统 ...