栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java面向对象试题及答案(java是一门面向对象的语言)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java面向对象试题及答案(java是一门面向对象的语言)

面向对象三大特征 封装:

类:封装的是对象的属性和行为

方法:封装的是具体的业务逻辑功能实现

访问控制修饰符:封装具体的访问权限,以保护数据的安全

继承:

作用:代码复用

超类:所有派生类所共有的属性和行为

接口:部分派生类所共有的属性和行为

派生类:派生类所特有的属性和行为

特性:单一继承、多接口实现、具有传递性

多态:

行为的多态:所有抽象方法都是多态的(通过方法重写来实现)

对象的多态:所有对象都是多态的(通过向上造型来实现)

最少具备两种状态:自己的形态和object的形态

方式:向上造型、强制类型转换、instanceof判断

String:字符串类型

1、java.lang.String使用final修饰,不能被继承

2、java中的String在内存中采用Unicode编码方式,任何一个字符都占用两个字节的编码

3、字符串一旦创建,对象内容永远无法改变,但字符串引用可以重新赋值-----不变对象

lang包中String类,有一个private final char value[],String维护的是一个char的数组

final表示一旦创建,对象不能被改变

字符串底层封装了字符数组,以及针对字符数组的操作算法

常量池

java对字符串有一个优化措施:字符串常量池(堆中)

java推荐我们使用字面量/直接量方式来创建字符串,并且会缓存所有以字面量形式创建的字符串对象到常量池中,当使用相同字面量再将创建字符串时会重用对象以减少内存开销,避免内存中堆积大量内容相同的字符串对象

public class StringDemo {
    public static void main(String[] args) {
       //直接双引号赋值的称为“字面量”
        String s1 = "abc123";//常量池还没有,因此创建了该字符串对象,并存入常量池中
        String s2 = "abc123";//常量池有该字符串,直接拿来用,s1与s2地址相同
                             //s2复用了这个对象
        System.out.println(s1==s2);
        s1 = s1 + "!";//堆中会创建了一个新的对象"123abc",并将地址赋值给s1,
                      //因为不是直接用字面量赋值,所以生成的对象"123abc"不会存在常量池中
                      //只是在堆中创建对象
        System.out.println(s1==s2);
    }
}
//输出:true
       false

 

字面量赋值会存储在常量池中,用字符串连接符(+)连接后再赋值的在常量池中没有分配

public class StringDemo {
    public static void main(String[] args) {
        String s1 = "123abc";//堆中会创建一个"123abc"的对象,常量池中有一个"123abc"的地址
        String s2 = "123" + "abc";//复用常量池中的对象
                            //编译器在编译时,若发现时两个字面量操作,
                           //则直接运算好并将结果保存到表达式中,相当于String s2 = "123abc";
        System.out.println(s1==s2);
        String s3 = "123";
        String s4 = s3 + "abc";
       //不是两个字面量操作,编译器不能直接确定值,会在堆中创建新的对象,而不会复用常量池中的对象
        System.out.println(s1==s4);
    }
}
//输出:true
       false

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773547.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号