java错题本-2018-5-30

1.访问修饰符的问题

  私有方法只能在本类中可见,故不能继承

  缺省访问修饰符只在本包中可见,在外包中不可见

  保护修饰符凡是继承自该类的子类都能访问,当然可被继承覆盖

  static修饰的成员属于类成员,父类字段或方法只能被子类同名字段或方法遮蔽,不能被继承覆盖

 

2.返回值问题

  java中方法,其实就是执行一个动作的。楼主能理解这句话吗?比如“调用XX方法计算学生期末总成绩”、“调用XX方法计算账户余额”、“调用XX方法打印出学生学号”,这些方法都是有一个执行目的的,每一个方法都是为一个执行目的而生的,返回值就与那个方法的目的有关。
比如我们调用XX方法计算学生成绩,我们的目的是得到一个学生的成绩,那我们就需要那个方法做两件事:计算成绩并且返回那个学生的成绩给我们,成绩就是这个方法的返回值,这个返回值的数据类型就是方法的返回类型,比如这里,我们定义为int(可以不定义为int,依情况而定,万一学生成绩可能是小数呢,就定义double,这都是由返回值类型决定的!)。
有的方法我们不需要他返回什么值,比如“调用XX方法打印学生学号”,我们只需要他做一件事,就是打印学号,我们不需要得到任何反馈,只需要他做就行了,于是就定义这个方法的返回类型为void,意思是没有返回值。
所以,其实方法的返回类型就是他返回的那个数据的类型,如果不返回任何数据,就是void返回类型,比如这里,我们定义为int(可以不定义为int,依情况而定,万一学生成绩可能是小数呢,就定义double,这都是由返回值类型决定的!)。
有的方法我们不需要他返回什么值,比如“调用XX方法打印学生学号”,我们只需要他做一件事,就是打印学号,我们不需要得到任何反馈,只需要他做就行了,于是就定义这个方法的返回类型为void,意思是没有返回值。
所以,其实方法的返回类型就是他返回的那个数据的类型,如果不返回任何数据,就是void

 

3.this和this()的区别 super()和this()的区别

     this方法可以在普通方法中用,不一定非要在构造方法,而this()必须在构造函数里的第一行。this()和super()为构造方法,作用是在JVM堆中构建出一个对象。因此避免多次创建对象,同一个方法内只能调用一次this()或super()。同时为了避免操作对象时对象还未构建成功,需要this()和super()的调用在第一行实现【以此来创建对象】,防止异常。

4.运算符的优先级

    口诀:单目乘除为关系,逻辑三目后赋值。  

单目:单目运算符+ –(负数) ++ -- 等  
乘除:算数单目运算符* / % + -  
为:位移单目运算符<< >>  
关系:关系单目运算符> < >= <= == !=  
逻辑:逻辑单目运算符&& || & | ^  
三目:三目单目运算符A > B ? X : Y  
后:无意义,仅仅为了凑字数  

赋值:赋值=

 

5.final的变量、方法、类的说明

 

final 修饰符

final 变量:

  final 变量能被显式地初始化并且只能初始化一次。被声明为 final 的对象的引用不能指向不同的对象。但是 final 对象里的数据可以被改变。也就是说 final 对象的引用不能改变,但是里面的值可以改变。

final 修饰符通常和 static 修饰符一起使用来创建类常量。

final 方法

  类中的 final 方法可以被子类继承,但是不能被子类修改。

声明 final 方法的主要目的是防止该方法的内容被修改。

如下所示,使用 final 修饰符声明方法。

final 类

  final 类不能被继承,没有类能够继承 final 类的任何特性。

 

6.try...catch...finally的说明

  使用try...catch块捕获时可以没有catch块,但当没用catch块的时候必须得有finally块。throws是向外面抛出,与finally无关,throw可以随意使用,但是与finally结合使用的时候,必须是在try/catch/finally组合块中。finally不管是否有异常都会执行,而且,try可以和catch和finally中的一个搭配使用,但是catch和finally不能单独使用

 

 

7.Spring MVC的原理

 

  SpringMVC是Spring中的模块,它实现了mvc设计模式的web框架,首先用户发出请求,请求到达SpringMVC的前端控制器(DispatcherServlet),前端控制器根据用户的url请求处理器映射器查找匹配该url的handler,并返回一个执行链,前端控制器再请求处理器适配器调用相应的handler进行处理并返回给前端控制器一个modelAndView,前端控制器再请求视图解析器对返回的逻辑视图进行解析,最后前端控制器将返回的视图进行渲染并把数据装入到request域,返回给用户。

DispatcherServlet作为springMVC的前端控制器,负责接收用户的请求并根据用户的请求返回相应的视图给用户。

 

8.实现线程的三种方式

实现多线程的三种方式,一种是继承Thread类使用此方式就不能继承其他的类了。还有两种是实现Runnable接口或者实现Callable接口

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值