zoukankan      html  css  js  c++  java
  • JAVA面向对象的理解

    一、JAVA中的栈内存与堆内存

      1.栈内存:存放局部变量,超出作用域会被回收;

      2.堆内存:创建出来的对象,有java垃圾回收器回收。

    二、static与类共存亡; 非static与对象共存亡!!

    三、对象的比较:

      1.== :比较的是栈内存中的值(地址)

      2.equals : 比较的是内容,重写该方法才有意义!!

    四、函数传参是:基本类型是值的拷贝的传递;引用类型是引用的传递!!

    五、String的理解:

        new出来的对象与直接写的的区别!!!

      

     1 String s1 = new String("abc");    //2个对象
     2 String s2 = new String("abc");    //2个对象
     3 
     4 System.out.println("s1 == s2 : " + (s1 == s2));//false
     5 System.out.println("s1.equals(s2) : " + s1.equals(s2));//true
     6 
     7 
     8 String s3 = "abc";
     9 String s4 = "abc";
    10 
    11 System.out.println("s3 == s4 : " + (s3 == s4));//true
    12 System.out.println("s3.equals(s4) : " + s3.equals(s4));//true

     六、getClass:

        Class字节码的获取:

          1.通过对象获取;    对象.getClass()

          2.通过类获取;     类.Class

          3.Class的forName方法获取。  Class.forName("com.westos.javase.lesson04_2.Person");  ------->  注意全名

    七、抽象类:

        抽象类天生就是用来被继承的;

        抽象类不能被实例化,但可以定义变量指向子类对象;

        其子类必须重写所有方法,否则也必须声明为抽象类; 

        抽象类中可以没有抽象方法;

        抽象类和普通类一样,有构造方法!!!

    八、接口

        接口中所有方法都是抽象的  ----->  public abstract 

        接口中的变量都是  ------->   public static final

        一个类只能继承一个类,但可以实现多个接口:public class SuperMan extends Person implements Run_able,Flyable { }

          解决了不能多继承的问题!!

    九、抽象类与接口的区别:

        抽象类是继承,接口是实现;

        抽象类是 is a;接口是 like a;

        抽象类定义的是体系内的功能; 接口定义的是体系外的扩展功能!!

      

  • 相关阅读:
    U10783 名字被和谐了
    P1151 子数整数
    P2756 飞行员配对方案问题
    P3227 [HNOI2013]切糕
    BZOJ 2127: happiness(最小割解决集合划分)
    linux脚本初体验
    130902 周赛
    Citrix 服务器虚拟化之三十二 XenConvert
    数据字典统一管理,动态下拉框
    [置顶] oracle 数据库表中转换成java代码
  • 原文地址:https://www.cnblogs.com/zhongzhongdebokeyuan/p/5382955.html
Copyright © 2011-2022 走看看