10.java的默认import包有哪些?
i) u3 l1 Z- z* V 类和对象(Class and Object)
/ k7 O3 J+ {0 z H X9 B 0.最外层的类可以声明成final:final class a{} ok!,但是不能是private和static的.( b- K' W; j- X
1.overload是同类里同样的方法名,override是父子的继承: C( K9 q; ]3 G
2.override的返回结果必须一样,否则编译错哦
: G8 ^0 e9 f3 i4 a8 a, Z The return type of an overriding method is identical to the return type of the method it overrides.
0 D! ?2 A- u7 p7 l# ? 2.1 override的modifier可以扩大,但是不能缩小.比如父类private void test(){}" Z; u ~1 [! W9 ^3 ]8 x
子类:public void test(){} ,没问题;如果反了,就死翘翘了!9 @- S5 v9 e0 g! H; w
3.super.super(),靠,错的,没这么写的
8 t2 O; q- w2 d" w4 d 4.static和非static之间永远无法override!: b$ C. x R G9 O! @1 A+ g
5. 看程序
( u6 q5 H, j& Y6 {以下是引用片段:5 S( f/ J( l! r# ?' b; Y6 i2 C
public class A{
. X6 _2 ~1 j5 b9 y0 S! ? void test1() throws baseEx{hi();} & Q* B* f/ t& r, w6 I% a' k
void hi(){System.out.println("say hi,a");} + v2 j) [$ h/ u4 M) a( z
}
* {# a4 o# @- B7 | class AA extends A{
: R) z* N% k- Q# ?% u# A1 S3 T& H void hi(){System.out.println("say hi,aa");} 2 w' ]4 b2 P2 |, \9 i$ A
} 0 } S. M1 ?" Y7 z0 b) w1 G. h
class test{
9 }9 ?$ J# c8 o% `+ _+ _2 @ static void main(String b[]) throws Exception{ 6 d" ?4 s8 h0 f# g+ C/ E
A a = new AA(); : _3 [. I h! I5 G/ ^4 o
a.test1(); 2 m0 q! ^* [* E: n' a
}
3 `1 }$ k( m ?; |9 y! @' S: ^ Z1 ` }
$ m5 H8 X: A$ L5 V1 e
3 y: u% z3 L9 M1 A5 J& l 结果是,"say hi,aa",这说明什么?说明,方法永远跟着类的原来面目走;而,变量恰恰相反!. t2 q; k- u0 G
6.一个非抽象方法死活也别想override成一个抽象方法( C: e9 ]& M/ x; X: ~1 z
7.override的子类的方法抛出的的异常只能是父类方法抛出异常的子异常类,或者无!" f# g9 ]2 }. E2 Y, R; \5 i
8.构造器不能是native,final,static,synchronized的,可以是public,private,什么都没有的,呵呵
( ~' |4 {; `* j" G 9.构造器函数里还可以写return呢,但后面什么都不许有,甚至null(这不是废话吗,哈哈)/ Y" a+ G) X# g- }: `
10.构造器不能返回值.这大家都知道,但如果有个"构造器"反值了,别紧张,它就不是构造器喽,只是个普通函数。 |