javaSE基础知识 知识点(一)

                    person p = new person();

  创建一个对象都在内存中做了什么事情?

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

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

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

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

    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的。



你可能感兴趣的:(java基础相关)