java daytest

2023-05-16

1、为什么要有类的继承性

类的继承性可以减少代码冗余度,提高代码复用性,提高代码操作效率

2、继承的格式(语法)

子类 extends 父类

3、子类继承父类后有哪些不同

子类范围大于父类,子类的属性小于父类

4、java中继承的说明

1 - 继承在Java中代表extend拓展属性,子类继承父类属性,子类方法必须大于父类,一个父类可有多个子类继承是用过extends(扩展)实现的
2 - 通过继承,子类中无需再声明父类中已经存在的属性和方法,减
少的代码的冗余,提高的代码的复用性
3 - 子类和父类之间的关系不同于子集和集和之间的关系。子类的功
能更丰富,子类可以扩展父类没有的功能
4 - 子类继承了父类的所有属性和方法,包括私有属性,只是因为访
问权限的问题不能直接访问。可以间接访问get、set方法访问。
5 - 一个类可以被多个类继承
6 - java中的继承是单继承,即只能有一个父类,但子类下可以再有
子类,所有就有了间接继承和直接继承。
7 - 子类继承了父类后就可以获取到直接父类和间接父类的所有属性
和方法

5、java.lang.object的说明

是所有Java类的父类,所有子类都从object继承而来

6、static关键字可以修饰什么,如何理解static关键字

修饰类的属性和方法,类存在static就存在

7、abstract可以修饰什么、如何理解abstract

可以修饰对象的属性和方法,abstract必须被继承,不能被实例化

8、手写单例设计模式(两种方式)

单例模式基本实现
public class Singleton {
 	private Singleton(){//私有化构造方法
 		System.out.println("Singleton is create");
 	}
 	private static Singleton instance = new Singleton();//创建静态对象
 	public static Singleton getInsatnce(){//调用静态方法
		 return instance;
 	}
}

首先单例类必须要有一个 private 访问级别的构造函数,只有这样,才能确保单例不会在系统中的其他代码内被实例化,;其次,instance 成员变量和 getInstance 方法必须是 static 的。

上述代码唯一的不足是无法对 instance 实例做延时加载,例如单例的创建过程很慢,而由于 instance 成员变量是 static 定义的,因此在 JVM 加载单例类时,单例对象就会被建立,如果此时这个单例类在系统中还扮演其他角色,那么在任何使用这个单例类的地方都会初始化这个单例变量,而不管是否会被用到。

延迟加载的单例模式代码
public class LazySingleton {
 private LazySingleton(){
 System.out.println("LazySingleton is create");
 }//私有化构造器
 private static LazySingleton instance = null;//私有化静态对象
 public static synchronized LazySingleton getInstance(){//调用静态对象方法
 if(instance == null){
 instance = new LazySingleton();
 }
 return instance;
 }
 public static void createString(){
 System.out.println("create String");
 }
  
 public static void main(String[] args){
 LazySingleton.createString();
 }
}

9、static修饰的方法是否可以使用this和super关键字?为什么?

这里就引入了另外一个知识点,static修饰的方法内部是不允许出现非静态成员变量或成员方法,即static修饰的方法与该类相关,但是不跟该类的具体实例相关(具体可参考),而this(即对象)是具体类的对象实例,
this表示这个类的当前实例,super表示父类的当前实例,static是属于类的,this是类的一个对象,当然调用了不了他,static只有类名可以调用它,static叫静态方法,也叫类方法,就是在程序启动的时候,就会为这个方法分配一块内存空间,所以什么时候都可以调用这个方法。所以,静态方法里不能调用非静态方法,除非你先实例化那个类。如果在static修饰的方法中使用this关键字,而这个关键字就无法指向合适的对象;所以我们也说,静态成员不能直接访问非静态成员;

10.谈谈你对多态的理解

多态是同一父类,不同的实例化可以有不同的属性和行为

11.实现多态的思路?

继承,重写,向上转型(子类转父类)

12.基本类型和引用类型转换的方式? 不同引用类型如何转换?

基本类型通过自动转换,强制转换实现,不同引用类型强制转换(子父类,instanceof判断)但要明确转换过后的范围要比转换之前的范围大

13.重写和重载的区别?

重写是继承之后子类重写父类方法或属性,重载是同一类中构造方法传入不同的参数,形成不同的方法

14、写出“==”和equals的区别

是逻辑运算符,equals()是方法,在object类中equals使用的就是判断,String,failed和Date重写了equals方法,

15、写出8中基本数据类型的包装类

byte int short long char double boolean float
Byte Integer Short Long Character Double Boolean Float

16、字符串如何转换为包装类、基本类型?举例说明

字符串转换为包装类
通过包装类
的.pase静态方法
字符串转换为基本类型
Integer sr=(Integer)“a”;
int sr;

17、基本类型,包装类如何转换为字符串?举例说明

基本类型加空字符串
String sr=12+"";
包装类先转换
调用包装类的Value()方法

18、你所知道的哪些类重写了toString和equals方法。

toString 和equals在file,string,Date

19、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)

接口可以被继承,抽象类可以实现接口,抽象类可以继承实体类

20、抽象类和接口有哪些共同点和区别?

共同点:抽象类和接口都需要被重写;
区别:抽象类中方法体可以被具体实现,只能有一个父类,一个类可以实现多个接口,

21、谈谈你对面向接口编程的两种方式的理解?

面向接口可以类似于多态,
关心类有何能力而不关心接口实现细节
面向接口约定而不考虑具体实现

22 、instance是声明接口的关键字,可以把它看成一个特殊类。接口中的数据成员默认的修饰符是private static final,接口中的成员方法默认的修饰符是static。

23、java中集合框架的体系结构?

collection ------>list,set------>arrylist,kinderlist,

24、Collection接口中的常用方法?(>=10个)

add,remove,addall,removeall,set,get,clean, size, hashcode,

25、使用迭代器遍历集合。(示例代码)

iterator

Iterator iterator = coll.iterator();

while(coll.iterator()hasNext()){

system.out.println(coll.iterator()Next());

}

26、List集合的常见实现类及特点(面试内容)

arrylist,有序可重复
kinderlist,双向链表,增加删除很方便
vector古老

27、set集合的实现类和特点

hashset高效不重复、linkedhashset链表结构
treeset红黑树模型

28、map集合的实现类和特点

map集合实现类hashmap存取高效,线程安全
treemap搜索高效

29、map集合的常用方法和迭代方式

map集合常用get,hashcode,isEmpty,clean,size,put,putall
迭代方式、获取entryset方式、for——entry循环方式(类型 输出元素:集合)、迭代器取得key通过遍历key获取value
###30、如何理解字符串的不可变性?

字符串String被定义为final类型实例化对象不可修改相同对象内容在静态区存储

31、String str = “abc” 和 new String(“abc”)区别?

区别在于前者定义str变量,后者新建String对象,但二者存储内容相同都在静态区

32、String s = new String(“xyz”);创建了几个String Object?

两个,一个创建String对象另一个创建String变量

33、JAVA语言如何进行异常处理,关键字

Exception
try{
异常可能出现的内容
}
catch(exception e){
对异常的处理
}
finally{
总是会执行
}

2throwsthrow的区别

throws用来声明一个方法可能抛出的各种异常,可能出现的异常不一定出现
一般情况下是用try来执行一段程序,如果系统会抛出(throw)一个异常对象,可以通过它的类型来捕获(catch)它,或通过总是执行代码块(finally)来处理

3、常见的异常有哪些

ioexception;
filenotFoundException;
nullprinterException;
arryindexoutofboundsexception;
classcastException;
negativearryexception;
secturityexception;
eofexception;
已知有下列Test类的说明,则下列哪个语句是正确的?(_______    )
public class Test 
{
    private float f = 1.0f;
    int m = 12;
    static int n=1;
    public static void main(String args[]){
        Test t = new Test();
        //在此加入一行代码
    } 
}
    A)t.f;f 虽然是 Test 类的私有成员属性,但因为 main 方法就在 Test 类内,因此可以通过 “对象名.属性名” 的方式调用,所以 A 对。
    B)this.n;static 静态成员属性不能使用 this 关键字调用,B 错

​      this是指向对象的的引用,而静态方法在类加载的时候创建加载,此时没有创建对象。

​    C)Test.m;m 和 f 都是普通成员属性,而 “类名.” 方式只能调用 静态成员属性,因此 C 和 D 都错。
​    D)Test.f;

##substring为左闭右开。

string.substring(from):此时相当于从from位置截取到原字符串末尾

1、String.substr( ):作用也是抽去一个子串,但是它和上面的String.substring( )有所不同
用法如下:string.substr(start, length)
start:指代截取子串开始下标
length:截取子串的长度(可省略)

Substr补充两种特殊情况:
a、第二个参数超过了剩余字符长度,这种情况下默认从,start位置到原字符串末尾,即返回:"ello"

b、第一个参数为负数
这种情况,从字符串尾部开始计算,-1指字符串最后一个字符,-2指倒数第二个字符...依次类推

2、String.substr(start):不带length参数,默认指代从start位置截取到字符串末尾

下列整型的最终属性 i 的定义中,正确的是(_B  )。
  A) static final int i=100;     B) final i;
  C) static int i;               D) final float i=1.2f;
题目要点:
    一:整形
    二:最终属性(final)
    三:定义,而不只是声明

给定下列表达式
  Integer I= new Integer(42);
  Long  L= new Long(42);
  Double D= new Double(42.0);
则下列表达式输出为true的是__D___
(A) (I==L)  (B)  (I==D)   (C) (D==L)   (D)  (I.equals (D))
   此处无正确答案

   ABC不同类型使用 == 编译出错

   D中包装类使用equals会先判断是否instance,不是的话直接返回false

   (用instanceof判断传入的对象和this是不是一个类的对象)

给定下列代码:
class  Temp
{
static String  test[]=new String[10];
public static void main(String a[])
{
System.out.println(test[0]);
}
}
下列说法正确的有( )。 
A    编译时将发生错误 
B    编译时正确但是运行时出错 
C    输出为0。 
D    输出为null。 \/

下列程序代码片断执行后的结果是( )。
String str=new String("Hello");
str="World";
System.out.println(str);  
A    Hello 
B    World \/
C    Hello World 
D    编译错误

 

定义字符串:String str="abcdefg";则str.indexOf('d')的结果是( )。 
A    'd' 
B    true 
C    3 \/
D    4

 以下语句输出的结果是( )。
String str="123";
int x=4,y=5;    
Str=str+x+y;    
System.out.println(str); 
A    1239 
B    12345 \/
C    会产生编译错误 
D    123+4+5

一个可直接运行的Java源文件中只能有一个且和文件同名的public类。 

为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( ) 
A    static void method( ) \/
B    public void method( ) 
C    final void method( ) 
D    abstract void method( )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java daytest 的相关文章

  • 将构造函数作为参数传递给方法

    我是java新手 开始研究构造函数 我看到一些构造函数作为参数传递给方法的示例 请告诉我当构造函数作为参数传递给方法时会发生什么 或者建议我一些链接 我可以在其中获得有关使用构造函数的足够知识 根据您需要传递构造函数的目的 您可以考虑传递供
  • 将 MouseListener 添加到面板

    我正在尝试将鼠标操作添加到我的面板中 这就是程序应该做的事情 编写一个程序 允许用户通过按三下鼠标来指定一个三角形 第一次按下鼠标后 画一个小点 第二次按下鼠标后 绘制一条连接前两个点的线 第三次按下鼠标后 绘制整个三角形 第四次按下鼠标会
  • 如何在url请求中发送数组

    我的要求如下 我想给出演员姓名 开始日期 结束日期并获取他在该时期出演的所有电影 因此 我的服务请求是这样的 http localhost 8080 MovieDB GetJson name Actor startDate 20120101
  • 查询 MongoDB 集合中的字段。

    我正在尝试查询 mongodb 集合中的特定字段 这是我的代码和输出 Mongo m new Mongo DB db m getDB mydb DBCollection coll db getCollection student addin
  • 重写 getPreferredSize() 会破坏 LSP

    我总是在这个压倒一切的网站上看到建议getPreferredSize 而不是使用setPreferredSize 例如 如前面的线程所示 对于固定大小的组件 使用重写 getPreferredSize 而不是使用 setPreferredS
  • 在哪里保存选项值、重要文件的路径等[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在创建一个程序 需要设置一些选项值以及图像文件的一些路径 SQLite 数据库的路径 有关各种按钮上文本的一些信息 有关要使用哪个数据库的信
  • 这个等待通知线程语义的真正目的是什么?

    我刚刚遇到一些代码 它使用等待通知构造通过其其他成员方法与类中定义的线程进行通信 有趣的是 获取锁后 同步范围内的所有线程都会在同一锁上进行定时等待 请参见下面的代码片段 随后 在非同步作用域中 线程执行其关键函数 即 做一些有用的事情1
  • JavaFX使节点覆盖父节点边框颜色

    我有一个如下所示的节点 仅使用 css 我希望标签覆盖其父边框颜色 因此标签下方的边框颜色部分变得不可见 我用来制作这个边框的CSS代码 fx border color black fx border width 3 fx border r
  • 可访问数据的 Java 约定。 (公共访问器和 Getter/命名)

    通过 Java API 您会看到大量冲突的命名和实践 这让我感到非常困惑 例如 The String http grepcode com file repository grepcode com java root jdk openjdk
  • 如何在 JPA 和 Hibernate 中将数据库生成的列值定义为只读字段?

    使用 MariaDB 10 2 可以定义日期时间的默认值 例如创建和最后修改 我应该如何将此列作为只读字段访问 因为这个值应该只在数据库的控制之下 并且不应该从代码中修改 但我想在代码中读取这个属性 这很简单 只需设置insertable
  • 用于层次结构树角色的 Spring Security / Java EE 解决方案

    我知道 Spring Security 非常适合标准角色和基于权限的授权 我不确定的是这种情况 系统中管理着 10 000 名员工 员工被组织成组织结构图 跨部门的谁向谁报告的树 其中一些员工是用户 这些用户仅被允许访问其职责范围内的员工
  • 在 java 中运行外部应用程序但不要等待它完成

    我正在用java编写一个应用程序 允许我运行其他应用程序 为此 我使用了 Process 类对象 但当我这样做时 应用程序会等待进程结束 然后再退出 有没有办法在 Java 中运行外部应用程序 但不等待它完成 public static v
  • BadPaddingException:无效的密文

    我需要一些帮助 因为这是我第一次编写加密代码 加密代码似乎工作正常 但解密会引发错误 我得到的错误是 de flexiprovider api exceptions BadPaddingException 无效的密文 in the 解密函数
  • 如何减去两个 XmlGregorianCalendar 对象来创建一个 Duration 对象?

    我想计算两个时间之间的差值XmlGregorianCalendar对象 从而创建一个Duration object 但我还没有找到执行减法的干净方法 你会怎么做 那应该是 DatatypeFactory newDuration xgc2 t
  • 删除 JFX 中选项卡后面的灰色背景

    So is there any way to remove the gray area behind the tab s 我尝试过用 CSS 来做到这一点 但没有找到方法 要设置 tabpane 标题的背景颜色 请在 CSS 文件中写入 t
  • 如何在 O(n) 时间内根据 Map 中的整数值相对于其他值随机选择一个键?

    如果我们有一个Map
  • Axis2 错误:要输出的文本中的空白字符 (0x4) 无效

    我创建了一个 Java 客户端 使用 Axis2 1 7 6 作为代码生成器与 SOAP Web 服务进行交互 问题在于客户端的某些输入抛出异常并显示以下消息 org apache axis2 AxisFault Invalid white
  • Java/MongoDB 按日期查询

    我将一个值作为 java util Date 存储在我的集合中 但是当我查询以获取两个特定日期之间的值时 我最终得到的值超出了范围 这是我的代码 插入 BasicDBObject object new BasicDBObject objec
  • 为什么java.lang.Cloneable不重写java.lang.Object中的clone()方法?

    Java 规范java lang Cloneable接口将自身定义为表示扩展它的任何对象也实现了clone 休眠的方法java lang Object 具体来说 它说 一个类实现了Cloneable接口来指示java lang Object
  • 如何建立与 FileZilla Server 1.2.0 的 FTPS 数据连接

    使用 Apache commons net 的 Java FTPSClient 进行会话恢复是一个已知问题 会话恢复是 FTPS 服务器数据连接所需的一项安全功能 Apache FTPSClient 不支持会话恢复 并且 JDK API 使

随机推荐

  • FTPClient.changeWorkingDirectory()无法进入中文目录

    背景 xff1a 访问ftp xff0c 抽取数据 在访问中文文件夹的时候 xff0c FTPClient changeWorkingDirectory 返回false 查询资料连接 xff1a FTPClient changeWorkin
  • 《算法导论》习题5.3-1 ~ 5.3-7

    算法导论 习题 5 3 1 5 3 7 5 3 5 带星号我抄了一下题目 5 3 6 比较有意思我抄了一下题目 其他的题可以自己对照书 原书第三版 5 3 1 直接考虑第2次循环前 第1次循环后第1个位置的元素是原集合1 n中任意一个元素的
  • 如何搭建spring环境

    起因 今天领导丢给了一个spring 43 flink 43 kafka 43 clickhouse的项目代码 xff0c 这个代码里面已经搭好了框架 xff0c 具体的业务逻辑要从另一套storm 43 kafka 43 elastics
  • LeetCode热题100关于二叉树的题目整理(待更)

    对称二叉树 xff08 simple难度 xff09 https leetcode cn com problems symmetric tree 与本题相同题目 剑指offer28 对称的二叉树 本文思路及解法参考了 剑指offer28 对
  • vscode保存代码,自动按照eslint规范格式化代码设置

    安装 eslint 插件打开用户配置 文件 gt 首选项 gt 设置 搜索setting json填写如下配置 span class token punctuation span span class token string 34 wor
  • React Native 文件“launchPackager.command”无法执行,因为您没有正确的访问权限。

    launchPackager command没有执行权限 请注意chmod 755 后面的路径是你本机launchPackager command的路径 chmod 755 Users huieryun Work newretail o2o
  • Missing essential plugin: org.jetbrains.android Please reinstall Android Studio from scratch

    Missing essential plugin org jetbrains android Please reinstall Android Studio from scratch macos在终端输入 xff1a rm Rf Libra
  • java多态

    多态 1 定义 多态是同一个行为具有多个不同表现形式或形态的能力 多态就是同一个接口 xff0c 使用不同的实例而执行不同操作 它是指在父类中定义的属性和方法被子类继承之后 xff0c 可以具有不同的数据类型或表现出不同的行为 xff0c
  • Java对象的eqauls方法和hashCode方法

    简而言之 xff0c 在集合查找时 xff0c hashcode能大大降低对象比较次数 xff0c 提高查找效率 xff01 Java对象的eqauls方法和hashCode方法是这样规定的 xff1a 1 相等 xff08 相同 xff0
  • 【rustdesk】windows安装vcpkg及配置, rustdesk 客户端依赖库安装

    https github com microsoft vcpkg VCPKG ROOT VCPKG DEFAULT TRIPLET X VCPKG ASSET SOURCES 放入环境变量 G ISOFT vcpkg vcpkg VCPKG
  • test

    1 为什么要有类的继承性 类的继承性可以减少代码冗余度 xff0c 提高代码复用性 xff0c 提高代码操作效率 2 继承的格式 xff08 语法 xff09 子类 extends 父类 3 子类继承父类后有哪些不同 子类范围大于父类 xf
  • Set,list,map

    Set Set集合的特点 xff1a 元素不重复 xff0c 存取无序 xff0c 无下标 Set集合下面有 xff1a HashSet xff0c LinkedHashSet xff0c TreeSet HashSet存储字符串 span
  • String类的final原因

    作者 xff1a 知乎用户 链接 xff1a https www zhihu com question 31345592 answer 114259286 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权 xff0c 非
  • Java测试题

    1 Set里的元素是不能重复的 xff0c 那么用什么方法来区分重复与否呢 是用 61 61 还是equals 它们有何区别 它们使用hashcode来区分是否重复 xff0c 首先通过hashcode来判断是否重复 xff0c 如果has
  • Java中Error与Exception的区别

    Error类和Exception类都继承自Throwable类 Error的继承关系 xff1a Exception的继承关系 xff1a 二者的不同之处 xff1a Exception xff1a 1 xff0e 可以是可被控制 chec
  • 技能树,面试要求重点部分

    一 Java技能树 1 基本语法 这包括static final transient等关键字的作用 xff0c foreach循环的原理等等 比如面试的时候面试官问你static关键字有哪些作用 xff0c 如果你答出static修饰变量
  • list,set,map的应用

    list xff0c set xff0c map的应用 1 Set里的元素是不能重复的 xff0c 那么用什么方法来区分重复与否呢 是用 61 61 还是equals 它们有何区别 它们使用hashcode来区分是否重复 xff0c 首先通
  • Java线程多线程

    创建两个线程 xff0c 一个打印1 52 xff0c 一个打印A Z 打印顺序为12A34B56C78D span class token keyword package span Thread span class token punc
  • Java线程test

    1 银行有一个账户有两个储户存分别向同一个账户存3000 元 xff0c 每次存1000 xff0c 存3次 每次存完打印账户余额 问题 xff1a 该程序是否有安全问题 xff0c 如果有 xff0c 如何解决 xff1f 提示 1 xf
  • java daytest

    1 为什么要有类的继承性 类的继承性可以减少代码冗余度 xff0c 提高代码复用性 xff0c 提高代码操作效率 2 继承的格式 xff08 语法 xff09 子类 extends 父类 3 子类继承父类后有哪些不同 子类范围大于父类 xf