java实训第四天0125

1.行业拓展

信息安全的技能

运维能力:http通信,mysql、oracle, linux, shell编程等等(编程中都有涉猎) Web 的渗透测试:问题--sql注入、反序列化、业务功能(编程中也有涉猎)
Web 的渗透能力:能不能干掉他-代码审计软件开发中最大体量(java),php(编程)
内网渗透的能力:linuxwindows提权等

2.面试题

接口和抽象类的区别
(1)定义抽象类的关键字是abstract class,而定义接口的关键字是interface。
(2)继承抽象类的关键字是extends,而实现接口的关键字是implements。
(3)继承抽象类支持单继承,而实现接口支持多实现。
(4)抽象类中可以有构造方法,而接口中不可以有构造方法。
(5)抽象类中可以有成员变量,而接口中只可以有常量。
(6)抽象类中可以有成员方法,而接口中只可以有抽象方法。
(7)抽象类中增加方法时子类可以不用重写,而接口中增加方法时实现类需要重写。
(8)从jdk1.8开始增加新特性,接口中允许出现非抽象方法,但需要使用default关键字修饰。

抽象类能否使用final声明?
不能,因为final属修饰的类是不能有子类的,而抽象类必须有子类才有意义,所以不能。

抽象类能否有构造方法?
能有构造方法,而且子类对象实例化的时候的流程与普通类的继承是一样的,都是要先调用父类中的构造方法(默认是无参的),之后再调用子类自己的构造方法。

方法重载与方法重写的区别:
1、发生的位置
重载:一个类中重写:子父类中
2、参数列表限制
重载:必须不同重写:必须相同
3、返回值类型
重载:与返回值类型无关
重写:返回值类型必须一致,从jdk1.5开始允许返回子类类型。
4、访问权限:
重载:与访问权限无关
重写:重写后(子)的方法的访问权限不能小于被重写(父)方法的权限
5、异常处理:
重载:跟异常没有关系
重写:异常范围可以小,但是不能抛出新的异常

 3.访问权限

访问控制符    访问权限       本类内部          本包中的类             子类内部             其它包中的类 
public              公有的              ok                       ok                         ok                           ok 
protected        保护的               ok                       ok                         ok                          no 
啥也不写         默认的               ok                       ok                         no                          no 
private             私有的               ok                      no                          no                         no
public修饰的成员可以在任意位置使用;
private修饰的成员只能在本类内部使用;
通常情况下,成员方法都使用public关键字修饰,成员变量都使用private关键字修饰;

4.final关键字

final关键字用于修饰属性、变量(表示变量变为了常量,无法再对其再次进行赋值)
final修饰的局部变量,只能赋值一次(可以先声明后赋值) final修饰的成员变量时,必须在声明时赋值。 final关键字用于修饰类
              final修饰类,不可以被继承
final关键字用于修饰方法
           final修饰方法,不允许被子类重写

5.抽象类

抽象类和普通类的区别
1、抽象类必须用public或protected修饰(如果为private修饰,那么子类则无法继承,也就无法实现其抽象方法)。默认缺省为 public
2、抽象类不可以使用new关键字创建对象,但是在子类创建对象时,抽象父类也会被JVM实例化。
3、如果一个子类继承抽象类,那么必须实现其所有的抽象方法。如果有未实现的抽象方法,那么子类也必须定义为 abstract类

6.继承

子类不能继承父类的构造方法和私有方法,但私有成员变量可以被继承只是不能直接访问。
无论使用何种方式构造子类的对象时都会自动调用父类的无参构造方法,来初始化从父类中继承的成员变量,相当于在构造方法的第一行增加代码:super()的效果。

7.方法重写

要求方法名相同、参数列表相同以及返回值类型相同,从jdk1.5开始允许返回子类类型。

要求方法的访问权限不能变小,可以相同或者变大。

要求方法不能抛出更大的异常(异常机制)。

8.多态

(1)当父类类型的引用指向子类类型的对象时,父类类型的引用可以直接调用父类独有的方法;
(2)当父类类型的引用指向子类类型的对象时,父类类型的引用不可以直接调用子类独有的方法;
(3)对于父子类都有的非静态方法来说,编译阶段调用父类版本,运行阶段调用子类重写的版本;
(4)对于父子类都有的静态方法来说,编译和运行阶段都调用父类版本;

9.今日代码

*Runner

*Account

  • 22
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值