JAVA基础面试题
程序员文章站
2022-07-12 12:36:43
...
/*
* 栈(stack):主要保存基本类型(或者叫内置类型)(char、byte、short、
*int、long、 float、double、boolean)和对象的引用,数据可以共享,速度仅次于
* 寄存器(register),快于堆。堆(heap):用于存储对象。
*/
/*
* str1和str2会是true,因为他们就是同一个abc,在java中String str2 = "abc";
* 会先在常量池中找,没有就创建常量池对象,所以str1=str2为true
*/
String str1 = "abc"; String str2 = "abc"; System.out.println(str1 == str2);
String str ="";//在常量池中创建常量池对象 String strs = new String(); //堆中创建对象 System.out.println(str == strs); //false
// 1,String str= new String("abc");创建了几个对象 String demoStr = new String("abc");
大概是 由于"abc"已经被创建并保存于字符串池中,因此JAVA虚拟机只会在堆中新创建一个String对象,但是它的值(value)是共享前一行代码执行时在栈中创建的三个char型值值'a'、'b'和'c'
2, ---------------------------------接口可以继承接口;
接口DemoA;
public interface DemoA { int a= 10; public void add(int x,int y); }
接口DemoB继承DemoA
public interface DemoB extends DemoA{ public void addDemo(int y); }
类实现接口DemoB
public class DemoTest implements DemoB { // 实现接口DemoB需要重载接口DemoB的方法,接口DemoB继承的DemoA //所以也实现了DemoA中的方法 public static void main(String[] args) { } // 重写接口的方法 @Override public void add(int x, int y) { // TODO Auto-generated method stub } @Override public void addDemo(int y) { // TODO Auto-generated method stub }
3-------------- 抽象可以实现接口
抽象类实现接口不需要重写接口中的方法,抽象类中可以定义方法和具体方法,接口只能是定义方法
抽象类DemoAb实现DemoB,不需要重写DemoB接口中的方法
public abstract class DemoAb implements DemoB{ }
4-------抽象类是否可以继承实体类
上一篇: Intellj Idea中在提交代码时如何忽略iml文件
下一篇: 布尔数组