做题修炼Java+SQL(第二天)

这篇博客主要讲解了Java中的方法重载和重写,CSS选择器的优先级,以及Java集合ArrayList的特点。内容涵盖了Java方法的参数判断、构造方法、接口与抽象类的区别,CSS选择器的权重计算,以及ArrayList的有序性、可变性等特性。还提供了多道相关题目及其解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Java混合部分

1、对于同一类中的两个方法 , 在判断它们是不是重载方法时 , 肯定不考虑( )
A、参数个数 B、参数类型 C、返回值类型 D、参数顺序
解析:C
(1)方法的重载
方法重载的定义:同一个类或与他的派生类中,方法名相同,而参数列表不同的方法。其中参数列表不同指的是参数的类型,数量,类型的顺序这三种至少有一种不同。
方法重载与下列无关:
1、与返回值类型无关;
2、与访问修饰符无关;
3、构造方法也可以重载

(2)方法的重写
方法的重写的定义:在继承关系的子类中,定义一个与父类相同的方法
判断是否重写的方式:在方法之前加上@ Overri de
方法重写的特点:
在继承关系的子类中重写父类的方法;
重写的方法必须方法名相同,参数列表也相同
重写的方法的返回值类型应该与父类中被重写方法的返回值类型相同或是他的子类类型;
重写的方法的访问权限应该与父类中被重写方法的访问权限相同或高于它的访问权限;
重写的方法不能抛出比父类更加宽泛的异常;
方法重写的注意事项:
1、构造方法不能被重写,因为构造方法名必须和类名相同;
2、当子类重写了父类中的方法后,子类对象调用该方法时调用的是子类重写后的方法。

2、以下css选择器,优先级最高的为
A、span:first-child
B、#username
C、username span
D、span#username
解析:D
可以把样式的应用方式分为几个等级,按照等级来计算权重:

1、!important,加在样式属性值后,权重值为 10000
2、内联样式,如:style=””,权重值为1000
3、ID选择器,如:#content,权重值为100
4、类,伪类和属性选择器,如: content、:hover 权重值为10
5、标签选择器和伪元素选择器,如:div、p、:before 权重值为1
6、通用选择器(*)、子选择器(>)、相邻选择器(+)、同胞选择器(~)、权重值为0

标签选择器          权重
div                1
---------------------------
class/类选择器      权重
.right             10
---------------------------
id选择器           权重
#right            100
---------------------------
通配符选择器        权重
*                  0-1
---------------------------
后代、子代、交集、并集、相邻兄弟、兄弟->>>>>权重:每个单独的选择器的权重相加之和
注意:
1、权重如果相等,遵循就近原则,下面的会覆盖上面的渲染
2、权重相等,不遵循就近原则》》》》使用  !important-》》(权重1000),比ID大
3、权重大小:!important > id > class > 标签 > *
4、 !important提升权重

在这里插入图片描述

3、Which statement is true for the class java.util.ArrayList?
下面那个选项有关java.util.ArrayList是正确的
A.The elements in the collection are ordered.
集合中的元素是有序的
B.The collection is guaranteed to be immutable.
集合不可改变
C.The elements in the collection are guaranteed to be unique.
集合中的元素必须唯一
D.The elements in the collection are accessed using a unique key.
通过唯一的键值来访问集合元素
E.The elements in the collections are guaranteed to be synchronized.
集合中的元素是线程同步的
解析:A
Serializable, Cloneable , Iterable , Collection , List , RandomAccess List接口是有序的,通常允许重复,
因此可以确定A对,C错;
ArrayList是实现List 接口的大小可变数组,所以B错;
D是Map的特性,所以D错;
查看手册: Note that this implementation is not synchronized. ArrayList的实现不是线程同步的,所以E错。

[多选]4、Java7特性中,abstract class和interface有什么区别
A、抽象类可以有构造方法,接口中不能有构造方法
B、抽象类中可以有普通成员变量,接口中没有普通成员变量
C、抽象类中不可以包含静态方法,接口中可以包含静态方法
D、一个类可以实现多个接口,但只能继承一个抽象类。
解析:ABD
针对本题:
1、抽象类可以有构造,只不过不能new。
2、接口中可以有变量,但是无论你怎么写,最后都是public static final的。
3、抽象类中可以有静态方法,接口中也可以有

扩展:
1、接口中可以有非抽象的方法,比如default方法(Java 1.8)。
2、接口中可以有带方法体的方法。(Java 1.8)
3、接口中的方法默认是public的

抽象类和接口的区别:

  1. 抽象类可以有构造方法,接口中不能有构造方法。
  2. 抽象类中可以有普通成员变量,接口中没有普通成员变量。
  3. 抽象类中可以包含非抽象普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的方法。
  4. 抽象类中的抽象方法的访问权限可以是 public、protected 和默认类型,接口中的抽象方法只能是 public 类型的,并且默认即为 public abstract 类型。
  5. 抽象类中可以包含静态方法,在 JDK1.8 之前接口中不能不包含静态方法,JDK1.8 以后可以包含。
  6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问权限可以是任意的,但接口中定义的变量只能是 public static final 类型的,并且默认即为 public static final 类型。
  7. 一个类可以实现多个接口,用逗号隔开,但只能继承一个抽象类,接口不可以实现接口,但可以继承接口,并且可以继承多个接口,用逗号隔开。

[多选]5、以下关于JAVA语言异常处理描述正确的有
A、throw关键字可以在方法上声明该方法要抛出的异常。
B、throws用于抛出异常对象。
C、try是用于检测被包住的语句块是否出现异常,如果有异常,则抛出异常,并执行catch语句。
D、finally语句块是不管有没有出现异常都要执行的内容。
E、在try块中不可以抛出异常
解析:CD
Java语言中的异常处理包括声明异常、抛出异常、捕获异常和处理异常四个环节:
1、throw用于抛出异常。
2、throws关键字可以在方法上声明该方法要抛出的异常,然后在方法内部通过throw抛出异常对象。
3、try是用于检测被包住的语句块是否出现异常,如果有异常,则抛出异常,并执行catch语句。
4、cacth用于捕获从try中抛出的异常并作出处理。
5、finally语句块是不管有没有出现异常都要执行的内容。

[多选]6、下列哪些元素可以作为table元素的子元素?
A、caption
B、col
C、tr
D、tbody
解析:ACD
col是作为colgroup(定义表格中的列)的子元素存在的!
tr 元素定义表格行,th元素定义表头,td 元素定义表格单元。
caption是表格的标题
在这里插入图片描述

7、静态语言(强类型语言)
静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。
例如:C++、Java、Delphi、C#等。

动态语言(弱类型语言)
动态语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。
例如PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/Unix Shell等等。

[多选]8、对 Map 的用法,正确的有:
A、new java.util.Map().put(“key” , “value”) ;
B、new java.util.SortedMap().put(“key” , “value”) ;
C、new java.util.HashMap().put( null , null ) ;
D、new java.util.TreeMap().put( 0 , null ) ;
解析:CD
考察的是Map接口实现类的创建对象以及对象类型包含的方法。
A选项Map属于接口类型,不可以new的方式创建对象。所以A错误。
B选项SortedMap属于接口类型,不可以new的方式创建对象。所以B错误。
C选项HashMap基于哈希表实现Map接口的类,并允许null的值和null键。
D选项TreeMap通过红黑树实现Map接口的类,key不可以为null,会报NullPointerException异常,value可以为null。

public static void main(String[] args) {
        TreeMap<String, Integer> treeMap = new TreeMap<>();
        treeMap.put("0",null);
        System.out.println(treeMap.get("0"));//结果为:nul
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值