zoukankan      html  css  js  c++  java
  • java里的一些特别值得注意的地方

    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();            //这句话执行会出错







  • 相关阅读:
    python---1
    20190802—list、range、extend函数
    20190802—def定义函数
    20190802—import函数调用
    如何在EXCEL中将多个单元格内容合并到一个单元格中
    20190619—return函数的用法
    20190618—位置参数、默认参数、不定长参数
    excel 怎么计算单元格个数
    20190616——and和or使用方法、python运算符总结、python数据类型
    20190616——enumerate的用法
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6994467.html
Copyright © 2011-2022 走看看