(2.3.4)java基础题汇总

编程基础

8-javac和java和jar

javac test.java 编译命令
java test 运行test的main方法
jar cf test.jar test 将test文件夹压缩为jar

语言基础

1-java创建对象的方法

【1】new实例一个对象
【2】反射机制创建对象
Class c=Class.forNmae(“MyClass”);
Base b=(Base) c.newInstance;
【3】clone()一个对象
【4】反序列化得到一个对象

2-反射机制的主要功能

【1】获取对象所属的类
【2】运行时创建对象。例如,用户输入类名参数,创建一个实例
【3】运行时获取对象的所有成员变量和方法
【4】运行时调用对象的方法。例如,用户输入方法名和参数,计算机执行对应方法

3-java是否有goto,const?

有,但是仅作为保留关键字,并没有被使用。
java使用 break mytab;跳出多重循环,”mytable:“定义目标位置
(2.3.5)java关键字

4-一个类同时abstract和final?

不存在,final不能被继承,abstract要求子类继承
java允许将数据成员声明为final,却不赋初值。但是,blank finals必须在使用之前初始化,且必须在构造函数中初始化

5-一个函数中定义一个static变量?

不可以,java规定不能再成员函数中定义静态变量

6-finally

(1)finally是指即使出现异常,也会被执行的代码段
(2)finally之前有return,则finally代码段在return前执行
(3)finally前后都有return,则finally的return会覆盖其他的return
(4)finally前有exit,则finally不再执行

9-java的参数命名

  • 可以为字母、数字、连接符号如_$¥
  • 第一个字母不能为数字
  • 区分大小写
  • 不能使用@&-
  • 可以使用中文变量和中文字符

正确示例
Abc123、abc、¥m、¥kill、my_code、gα
错误示例
45m、my@email、int-1

10-java注释

单行注释:

//XXXXXX

多行注释:不能嵌套

/*XXXXXXX
XXXXX
XX*/

归档注释:会出现在最终生成的报告文档中

/**XXX
XXXXXXXX
XXX*/

11-int和Integer

java提供引用类型和原始类型两种不同数据类型。
同时java还为每个原始类型提供一个封装类,封装对应的一些方法。

Java编程语言为8个原始基本类型:
boolean,char,byte,short,int,long,double,flout

注意String是对象类型,不在原始类型范围内

12-转义符 \uXXX

char \u0061=’a’;
char a=’\u0061’
ch\u0061r a=’a’

13 java源文件的结构

(1)package
(2)import
(3)只能有一个公共public类,并和文件名一样

14 系统类

A,Thread可以被继承,用于创建新的线程
B,Number类可以被继承,Integer,Float,Double等都继承自Number类
C,Double类的声明为public final class Doubleextends Numberimplements Comparable不能被继承
D,Math类的声明为public final class Mathextends Object 不能被继承
E,ClassLoader可以被继承,用户可以自定义类加载器

运算符和类型转换

14-运算符的优先级也要保证从左向右

         int n=5;
        System.out.println(n+(n++)+(++n));

n=5+(5)+(6+1)

7-system.out.println执行

system.out.println(1+2+"");//(1)3
system.out.println(""+1+2);//(2)12
system.out.println(5.4+"3.2");//(3)5.43.2,加号两边发现字符串类型的,都会强转为字符串类型

(1)
1. —-1、2为整形
2. —-1+2=3
3. —-3+‘’=’3’
(2)
1. —-“”+1=”1”
2. —“1”+2=“12”

15日期类

Date mydate=new Date(0);
system.out.println(mydate);//the Jan01 08:00:00 1970

java统计从197011日期的毫秒时间,Date用long存储相差的毫秒数

声明与控制访问

16类的声明只能是public、abstract、final,不能使private

17this指向当前类对象,不能改变与再次赋值。A的内部类B中,应该使用A.this

18 continue只能用在循环体中,break没有该方面的限制,正确:block:{break block;}

throws抛出一个异常,找到一个catch匹配就停止,异常信息一般最后打印出来

int k=5;
try{
int kk=k/0;
}
catch(ArithmeticException e){
cout<<1;
}
catch(RuntimeException e){
cout<<2:
}
catch(Exception e){
cout<<3;
}

输出为1

19 throws出现在函数头中,预先声明可能抛出的异常;throw 抛出一个异常。

面向对象

20开闭原则、依赖倒转、接口隔离、里氏代换

21NULL参数是被先作为字符格式匹配,而不是Object,这点在方法重载中尤其注意

22函数覆盖时注意

  • 子类方法的名称、参数名和返回类型和父类要保持完全一致。
  • 子类方法覆盖式不能缩小父类方法的访问权限
  • 子类方法不能跑出比父类方法更多的异常。且子类抛出的异常必须与父类抛出的异常相同,或者是其子类
  • 覆盖之存在于父类和子类之间
  • 父类的静态方法不能被子类覆盖为非静态方法,但可被覆盖为子类的静态方法
  • 父类的抽象方法可以被赋给为非抽象方法
class A{
public void fun(){}
}

Class B extends{
public void fun() thorws RuntimeException{}
}

虽然看似子类B跑出了父类方法没有的异常,但是需要注意RuntimeException异常是被默认隐式抛出的,也就是说其实父类A的方法默认会有对RuntimeException的抛出

23继承并不继承构造函数,但是隐式继承时要求父类必须有默认构造函数。

class A{
public void A(int){}
}

Class B extends{
public void fun() {
//super(int)
}
}

以上代码报错,因为B会隐式的调用super()来执行父类的构造方法,如果父类没有的话,就报错。
除非显式定义super(int)
查看构造函数的执行顺序和意义

24 StringBuffer的方法

  • 构造函数
    • StringBuffer ()
    • StringBuffer (int length)
    • StringBuffer (String s)
  • 支持方法
    • ensureCapacoty() 保证缓冲器容量至少等于指定最小数
    • getchars(int i,int j.char[] str ,int k) 把字符从字符创缓冲区复制到目标数组
    • length() 长度
    • reverse() 反向替换
    • setlength() 设置长度

25 同国内sublist(int start ,int end)可以的到目标list的子list引用,对该引用的修改也会导致原list的修改

26 list.add(int local, Type value)在目标位置插入一个元素,如果该位置已经有了,这些位置以后的向后移动,并不覆盖原值。

27new FileOutputStream(File file, boolean bool)创建一个文件的输出流,同时以true方式打开时,是在文件尾端加入数据,不会对源来部分修改

数据库技术

28 JDBC调用存储过程的接口

CallableState,emt

29 注册JDBC Driver

  • Class.forName(“驱动名称”)
  • 实例化一个Driver

30 numberic类型用getDouble()

31 用户临时表#table1 系统临时表##table2

32 存储过程用exect 可以没有返回值 函数可以在select unin(xx)必须有返回值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值