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接口