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;

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

      

  • 相关阅读:
    problems_mysql
    skills_mysql
    knowledge_mysql
    knowledge_impala
    oozie的常见错误
    problems_kafka
    problems_flume
    kafka在zookeeper默认使用/为根目录,将/更换为/kafka
    java学习笔记总略
    大公司怎么开发和部署前端代码——作者:张云龙[知乎兴趣转载]
  • 原文地址:https://www.cnblogs.com/zhongzhongdebokeyuan/p/5382955.html
Copyright © 2011-2022 走看看