//创建静态内部类的对象//外部类名.内部类名 对象名 = new 外部类名.内部类名();
HelloWorld.SInner si = new HelloWorld.SInner();
HelloWorld.SInner si = new HelloWorld.SInner();
2017-01-22
//创建内部类的对象//外部类名.内部类名.对象名. = 外部类对象名.new 内部类名();
HelloWorld.Inner inn = o.new Inner();
HelloWorld.Inner inn = o.new Inner();
2017-01-22
关于方法重写的一些特性:
1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
2.子类抛出的异常下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
根据2,3条可以确定第一条,子类重写父类方法的返回值类型不能大于父类方法的返回值类型,即是说子类方法的返回值必须和父类方法的返回值相同或是其子类。
来自百度百科,所以一楼说的还是有道理的!
1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
2.子类抛出的异常下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
根据2,3条可以确定第一条,子类重写父类方法的返回值类型不能大于父类方法的返回值类型,即是说子类方法的返回值必须和父类方法的返回值相同或是其子类。
来自百度百科,所以一楼说的还是有道理的!
2017-01-22
意思是:如果只有外部类中有name变量,那么在内部类的方法中完全可以直接调用,如syso(“外部类成员变量:”+name)。但如果内外部类都有name变量了,要想调用外部类变量,就得先new一个外部类对象再调用,简化方法是使用this关键字,比如hello.name和HelloWorld.this.name功能一样。
2017-01-22
今天是2017年1月21日,是公司的年会,53°的红花郎酒,保守估计,我喝了六两左右吧,有点晕乎、但我还是惦记着我的java自学课程,哈哈哈,今晚估计是不能继续鏖战了,明天继续~
2017-01-21