灵璧县建设局网站,帝国cms怎么做网站地图,创办一家公司需要多少钱,广东广州自己建网站公司1.
简述方法重写与方法重载的意义与区别#xff1a;
方法重写#xff1a;
1.参数列表必须完全与被重写方法相同
//参数列表#xff08;分为四种#xff09;#xff1a;
#xff08;1#xff09;无参无返回值方法#xff1b;
#xff08;2#xff09;有参无返回…
1.
简述方法重写与方法重载的意义与区别
方法重写
1.参数列表必须完全与被重写方法相同
//参数列表分为四种
1无参无返回值方法
2有参无返回值方法
3无参有返回值方法
4有参有返回值方法
2.返回类类型必须完全与被重写方法的返回类型相同
3.方法名相同
访问权限不能比父类被重写发方法的访问权限更低此为一大 父类的成员方法只能被它的子类重写
声明为final的不能被重写
声明为static的方法不能被重写
子类和父类在同一包中那么子类可以重写父类的所有方法除了声明为private和final的方法
子类和父类不在同一个包中那么子类只能够重写父类声明为public和protected的非final方法 重写的方法能够抛出任何非强制性异常,无论重写
强制性异常所谓强制性异常就是在编写程序的过程中必需在抛出异常的部分try catch 或者向上throws异常。 ** 非强制性异常**所谓非强制性异常就和上面相反了 构造方法不能被重写
如果不能继承一个方法则不能重写 方法重载 被重载的方法必须改变参数列表参数个数或类型或顺序不一样
被重载的方法可以改变返回类型
可以改变访问修饰符
可以声明新的或更广的检查异常
无法以返回值类型作为重载函数的区分标准 2.
了解一下
hashCode方法本质就是一个哈希函数这是Object类的作者说明的。Object类的作者在注释的最后一段的括号中写道将对象的地址值映射为integer类型的哈希值。但hashCode()并不完全可靠的有时候不同的对象他们生成的hashcode也会一样因此hashCode()只能说是大部分时候可靠。 通常我们比较两个对象是否相同我们会重写equals()因为原版的equal效率比较低下利用hashcode 生成hash值进行比较这样通过equal比较的两个hashcode值肯定相同如果这个hashcode相同了再对比他们的quals()
equals()相等的两个对象hashCode()一定相等。
hashCode()相等的两个对象equal()不一定相等 3.
public class ZeroTest {public static void main(String[] args) {try{int i 100 / 0;System.out.print(i);}catch(Exception e){System.out.print(1);throw new RuntimeException();}finally{System.out.print(2);}System.out.print(3);}}
分析
catch捕捉之后1
抛出异常之后程序终止finally执行
throw抛出异常之后程序就不继续往下执行了。
4.
public class Arraytest{int a[] new int[6];public static void main ( String arg[] ) {System.out.println ( a[0] );}
}
在static方法中不能访问静态变量a,需要将a声明为static 5.
我们还要来补充一个运算符的补充知识点
1、:右移运算符num 1,相当于num除以2。
按二进制形式把所有的数字向右移动对应位数低位移出舍弃高位的空位补符号位即正数补零负数补1。符号位不变。
如
-1在32位二进制中表示为
11111111 11111111 11111111 11111111
-11按位右移符号位不变仍旧得到11111111 11111111 11111111 11111111
因此值仍为-1
2、:二进制右移补零操作符左操作数的值按右操作数指定的位数右移移动得到的空位以零填充
如value num中num指定要移位值value 移动的位数。 扩展资料
“”和“”等移位运算符的运算规则
1、无符号右移忽略符号位空位都以0补齐。
value aa是要移位值value 移动的位数。
无符号右移的规则只记住一点忽略了符号位扩展0补最高位 无符号右移运算符 只是对32位和64位的值有意义。
2、右移位运算符若操作的值为正则在高位插入0若值为负则在高位插入1。
右移补零操作符无论正负都在高位插入0。
没有是因为不需要 6. interface中的方法默认为public abstract 的 变量默认为public static final //不能有private出现 7.
Float正确赋值方式
Float a new Float(1.0)
Float f 1.0f 若不加f会被识别成double型double无法向float吟诗转换
8.
标准输入指键盘输入标准输出指输出到屏幕上。
记住System,out,println()就不会错
一般用 System,in创建inputStream对象用Symstem,out创建outputStream对象 9.
方法头指修饰符返回类型 方法名形参列表 方法名相同参数类型相同
子类返回类型小于等于父类方法返回类型 子类抛出异常小于等于父类方法抛出异常 子类访问权限大于等于父类方法访问权限。
所以说返回类型可以不同的 10. intValue()是把Integer对象类型变成int的基础数据类型
parseInt()是把String变成int的基础数据类型
ValueOf()是把String转化为Integer对象类型
11.
执行结果是
class BaseClass {public BaseClass() {}{System.out.println(I’m BaseClass class);}static {System.out.println(static BaseClass);}}public class Base extends BaseClass {public Base() {}{System.out.println(I’m Base class);}static {System.out.println(static Base);}public static void main(String[] args) {new Base();}} public class Father { static {System.out.println(父类静态代码块); }
{System.out.println(父类非静态代码块); }public Father(){System.out.println(父类构造函数); } }
public class Son extends Father{ static {System.out.println(子类静态代码块); }
{System.out.println(子类非静态代码块); } public Son(){System.out.println(子类构造函数); }public static void main(String[] args) {Son son new Son(); }
}
/*结果为 父类静态代码块子类静态代码块父类非静态代码块父类构造函数子类非静态代码块子类构造函数
父类静态代码块-子态静态代码块-父类非静态代码块-父类构造函数-子类非静态代码块-子类构造函数 12.
输出结果
public class EqualsMethod
{public static void main(String[] args){Integer n1 new Integer(47);Integer n2 new Integer(47);System.out.print(n1 n2);System.out.print(,);System.out.println(n1 ! n2);}
}
使用Integer a 1;或Integer a Integer.valueOf(1); 在值介于-128至127直接时作为基本类型。
使用Integer a new Integer(1); 时无论值是多少都作为对象。 13.
public class Test {private static int j 0;private static Boolean methodB(int k) {j k;return true;}public static void methodA(int i) {boolean b;b i 10 | methodB(4);b i 10 || methodB(8);}public static void main(String args[]) {methodA(0);System.out.println(j);}
}
这道题主要考的是|与||的区别
用法condition 1 | condition 2、condition 1 || condition 2
|是按位或先判断条件1不管条件1是否可以决定结果这里决定结果为true)都会执行条件2
||是逻辑或先判断条件1如果条件1可以决定结果这里决定结果为true)那么就不会执行条件2 14.
public static void main(String[] args) {Object o1 true ? new Integer(1) : new Double(2.0);Object o2;if (true) {o2 new Integer(1);} else {o2 new Double(2.0);}System.out.print(o1);System.out.print( ); System.out.print(o2);
}
三元操作符如果遇到可以转换为数字的类型会做自动类型提升。
1.0 1 R
1.程序计数器是一块较小的内存空间它的作用可以看做是当前线程所执行的字节码的信号只是其每个线程都需要一个独立的程序计数器
2.方法区是各个线程共享的内存区域它用于存储已经被虚拟机加载的常量、即时编译器编译后的代码、静态变量等数据
3.java虚拟机栈描述的是java方法执行的内存哦行每个方法被执行的时候都会创建一个栈帧用于存储 局部变量表、动态链接等信息
4.java堆对于绝大多数应用来说这块区域是JVM所管理的内存中最大的一块
5.JDBCJava Database Connectivity是标准的javaAPI是一套客户端程序与数据库交互的规范