javaSE基础知识 知识点(一)

                    person p = new person();

  建立一个对象都在内存中作了什么事情?数组

    1:先将硬盘上指定位置的person.class文件加载进内存。jvm

    2:执行main方法时,在栈内存中开辟了main方法的空间(压栈—进栈),而后在main方法的栈区分配了一个变量p。ide

    3:在堆内存中开辟一个实体空间,分配了一个内存首地址值。new函数

    4:在该实体空间中进行属性的空间分配,并进行了默认初始化。spa

    5:对空间中的属性进行显示初始化。对象

    6:进行实体的构造代码块初始化。继承

    7:调用该实体对应的构造函数,进行构造函数初始化。()接口

    8:将首地址赋值给p ,p变量就引用了该实体。(指向了该对象)内存


public static void main(String[] args){}
字符串

  public:访问权限最大。

  static:不须要对象,直接类名便可。

  void:主函数没有返回值。

  main:主函数特定的名称。

  (string[] args):主函数的参数,是一个字符串数组类型的参数,jvm调用main方法时,传递的实际参数是 new string[0]。

  jvm默认传递的是长度为0的字符串数组,咱们在运行该类时,也能够指定具体的参数进行传递。能够在控制台,运行该类时,在后面加入参数。参数之间经过空格隔开。jvm会自动将这些字符串参数做为args数组中的元素,进行存储。


抽象类和接口的区别:

    1:抽象类只能被继承,并且只能单继承。

      接口须要被实现,并且能够多实现。 

    2:抽象类中能够定义非抽象方法,子类能够直接继承使用。

      接口中都有抽象方法,须要子类去实现。

    3:抽象类使用的是  is a 关系。

      接口使用的 like a 关系。 

    4:抽象类的成员修饰符能够自定义。

      接口中的成员修饰符是固定的。全都是public的。