JAVA初学者笔记

#1.private关键字

  • 作用:权限修饰符(私有)。被private修饰的成员,只能在本类中访问
    #2.this关键字

#- 作用

  • 可以区分成员变量和局部变量重名的问题!this修饰的是成员变量。
  • this代表当前对象,谁调用我,我就代表谁。

二进制

#数据类型转换时要注意接收

Java的实参值如何传入方法呢?Java里方法的参数传递方式只有一种:值传递。即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响。

分类思想

control servese Dao 中 servese 承担的是 从Control 到Dao中所一个方法以上 所共同要用到的方法。 若一个方法只能被用一次,那servese就相当于只是一个传话筒。
control则相当于只是一个只负责接收要求与显示数据的的地方。
Dao则是对数据进行修改的地方,主要是 修改 增加 删减。

#方法的参数传递
传递数据为基本数据类型 调用其他方法改变主方法的基本数据类,主方法的基本数据类型不发生改变(因为只进入栈内存,没有进入堆内存)
传递数据为引用数据类型则主方法的数据会发生改变(因为是进入了堆内存改变了数据)

#Static静态
被static修饰成员是被共享的 先于非静态存在,因为先于非静态存在所以静态类不可调用静态方法。

#常量命名规范
如果是一个单词所有字母都要大写,如果是多个单词那么 所有字母大写前提下用____分割

#final修饰变量
基本数据类型变量:其值不能更改
引用数据类型变量:其地址值不能更改但可以更该对象内容

#重写与重载
重写 1.在继承体系中 子类与父类 相同的方法声明
返回值不一定相同,但子类的返回值 必须要被包含于父类的返回值
2.静态方法不能被重写,可以当作子类静态方法将父类静态方法隐藏起来;
3.子类的访问权限必须要大于等于父类方法。
重载 在同一个,类中 体现在形参的改变,包括增减与修改,与返回值无关。

#继承
private可使父类的成员或方法不被子类继承
super调用父类
每一个构造方法的第一条语句都是 super() 。
如果我们编写的类没有指定父类,那么他默认继承Java的最顶层类 Object

#抽象 abstract
1.抽象类不能创建对象
2.抽象类有构造方法
3. 3.1 必须要重写父类抽象方法
3.2可以将自己变成抽象类(意义不大)。。
4.抽象类可以没有抽象方法。

#多态
成员变量:编译时看左边,运行时看左边。!!!
成员方法:编译看左边,运行看右边。
为什么不一样? 成员方法有重写而成员变量没有。

#Object
他的equals底层也是用的 == 来比较,使用时可以重写
Objects 的equals()是比较两个对象是否相同;安全性:可避免空指针异常

#可变参数
格式:数据类型…变量名
本质:当做数组来只用
注意事项:一个方法中只能有一个可变参数
方法中如果有可变参数,必须放在最后

#lambda表达式
1.必须是接口
2.接口中只能有一个抽象方法 (函数式接口)

#字节流
1.创建字节流输出对象
\注意点:如果文件不存在,会帮我们自动创建出来
\如果文件存在,会把文件清空
.
2.写数据
%传递一个整数,实际传的ascll表对应的数据
3.释放资源
%每次使用完流,必须要释放资源。
#flush
调用BufferedWriter中的方法write,把数据写入到内存缓冲区中
flish才是吧缓冲区的东西写道文件(硬盘)中

#properties 如何使用

#servlet
转发的资源路径不写虚拟目录
重定向需要写虚拟目录
request.getContextPath 获取虚拟目录

#maven javax.servlet-api与javax.servlet.jsp-api这两个依赖需要provided

#spring注解 注解引入值时通过暴力反射强行注入

@ResponseBody的作用其实是将【java对象】转为【json格式】的数据。

@ResponseBody注解额作用是将controller的方法【返回的对象】通过适当的换器转换为指定格式后,写入到response对象的body区,通常用来返回json数	据或xml数据。
注意:使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中, 	他的效果等同于通过response对象输出指定格式的数据。
@ResponseBody是作用在方法上的,@ResponseBody表示该方法返回的结果	直接写入HTTP response body 中,一般在异步获取数据时使用【也就是AJAX】	。
注意:在使用@RequestMapping后,返回值通常解析为【跳转路径】,但是加		上@ResponseBody后 返回值结果不会被解析为跳转路径而是直接写入Http 	response 	body 中。比如异步获取json数据,加上@responseBody 后,会直接	返回接送数据。	@requestBody将HTTP请求正文插入方法中,使用合适的		httpmessageConverter将请求入某个对象。

使用SpringMVC注解驱动,对标注@ResponseBody注解的控制器方法进行结果转换,由于返回值为引用类型,自动调用jackson提供的类型转换器进行格式转换

#@RequestBody
@RequestBody是作用在形参列表上,用于将前台发送过来的固定格式的数据【xml格式 或者 json等】 封装为对应的 JavaBean 对象,封装时使用的一个对象时系统默认配置的 HTTP messageconverter 进行解析,然后封装到形参上。

#@RequestMapping
@RequestMapping在SpringMVC中使用@requestMapping来映射请求也就是通过她来指定控制器可以处理那些URL请求,相当于Servlet在web.xml 中配置的映射的作用一致。
RequestMapping注解类的源码:
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Mapping
public @interface RequestMapping {
String name() default “”;
String[] value() default {};
String[] path() default {};
RequestMethod[] method() default {};
String[] params() default {};
String[] headers() default {};
String[] consumes() default {};
1.在@Target中有两个属性,分别为ElementType.METHOD和ElementType.TYPE也就是说@RequestMapping 可以在方法和类的声明中使用。
2. 可以看到注解中的属性除了name()返回的字符串,其他均返回数组,也就是可以定义多个属性值,例如value()和path()都可以同时定义多个字符串值来接收多个URL请求。

@NotEmpty 用在集合上面(不能注释枚举)

@NotBlank用在String上面

@NotNull用在所有类型上面

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值