对象的相等,比的是内存中存放的内容是否相等。 而引用相等,比较的是他们指向的内存地址是否相等。
在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。 静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。
主要作用是完成对类对象的初始化工作。可以执行。因为一个类即使没有声明构造方法也会有默认的不带参数的构造方法。
方法的返回值是指我们获取到的某个方法体中的代码执行后产生的结果!(前提是该方法可能产生结果)。 返回值的作用:接收结果,使得它可以用于其他的操作!
new 运算符,new 创建对象实例(对象实例在堆内存中),对象引用指向对象实例(对象引用存放在栈内存中)。 一个对象引用可以指向 0 个或 1 个对象(一根绳子可以不系气球,也可以系一个气球);一个对象可以有 n 个引用指向它(可以用 n 条绳子系住一个气球)。
接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),抽象类可以有非抽象的方法。 接口中的实例变量默认是 final 类型的,而抽象类中则不一定。 一个类可以实现多个接口,但最多只能实现一个抽象类。 一个类实现接口的话要实现接口的所有方法,而抽象类不一定。 接口不能用 new 实例化,但可以声明,但是必须引用一个实现该接口的对象 从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。
Java 程序在执行子类的构造方法之前,如果没有用 super() 来调用父类特定的构造方法,则会调用父类中“没有参数的构造方法”。 因此,如果父类中只定义了有参数的构造方法,而在子类的构造方法中又没有用 super() 来调用父类中特定的构造方法,则编译时将发生错误,因为 Java 程序在父类中找不到没有参数的构造方法可供执行。 解决办法是在父类里加上一个不做事且没有参数的构造方法。
我知道很多人没学过 C++,但是面试官就是没事喜欢拿咱们 Java 和 C++ 比呀!没办法!!!就算没学过 C++,也要记下来! 都是面向对象的语言,都支持封装、继承和多态。 Java 不提供指针来直接访问内存,程序内存更加安全。 Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多继承,但是接口可以多继承。 Java 有自动内存管理机制,不需要程序员手动释放无用内存。
1.Ctrl+E,可以显示最近编辑的文件列表 2.Shift+Click可以关闭文件 3.Ctrl+[或]可以跳到大括号的开头结尾 4.Ctrl+Shift+Backspace可以跳转到上次编辑的地方 5.Ctrl+F12,可以显示当前文件的结构 6.Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择 7.Ctrl+N,可以快速打开类 8.Ctrl+Shift+N,可以快速打开文件 9.Alt+Q可以看到当前方法的声明 10.Ctrl+W可以选择单词继而语句继而行继而函数 11.Alt+F1可以将…