Java基础知识2

一、final 与 static 的区别?

都可以修饰类、方法、成员变量

static可以修饰类的代码块,final不可以

static不可以修饰方法内局部变量,final可以

static修饰表示静态或全局

static修饰的代码块表示静态代码块,当JVM加载类时,只会被创建一次

static修饰的变量可以重新赋值

static方法中不能用this和super关键字

因为this代表的是调用这个函数的对象的引用,而静态方法是属于类的,不属于对象,静态方法成功加载后, 对象还不一定存在。 this代表对本类对象的引用,指向本类已创建的对象。 super代表对父类对象的引用,指向父类对象。 静态优先于对象存在,方法被static修饰之后,方法先存在,所需的父类引用对象晚于该方法的出 现,也就是super所指向的对象还没出现,当然就会报错。

static方法必须被实现,而不能是抽象的abstract

static方法只能被static方法覆盖

final修饰表示常量、一旦创建不可被修改

final标记的成员变量必须在声明的同时赋值,或在该类的构造方法中赋值,不可重新赋值

final方法不能被子类重写

final类不能被继承,没有子类,final类中的方法默认是final的

final不能用于修饰构造方法

private类型的方法默认是final类型的

二、get和post简介

get和post是表单提交的两种方式,get请求数据通过域名后缀URL传送,用户可见,不安全,post请求数据通过在请求报文正文里传输,相对比较安全。get是通过URL传递表单值,post通过URL看不到表单域的值。

get传递的数据量是有限的,如果要传递大数据量不能用get,不如type=“file”上传文章、type=“password”传递密码,get和post是表单提交数据的两种方式,get请求数据通过地域名后缀URL传送,用户可见,不安全,post请求数据通过将在请求报文正文里传输,相对比较安全。

get是通过url传递表单值,post通过url看不到表单域的值;

get传递的数据量是有限的,如果要传递大数据量不能用get,比如type=“file”上传文章、type=“password”传递密码或者< text area >发表大段文章,post则没有这个限制;

post会有浏览器提示重新提交表单的问题,get则没有(加分的回答)

对于Post的表单重新敲地址栏再刷新就不会提示重新提交了,因为重新敲地址就没有偷偷提交的数据了。Post方式的正确的地址很难直接发给别人。

三、get和post的区别

1.get提交的数据放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. post方法是把提交的数据放在HTTP包的body中。

2.get提交的数据大小有限制(因为浏览器对URL的长度有限制),而post方法提交的数据没有限制。

3.get方式需要使用request.querystring来取得变量的值,而post方式通过request.form来获取变量的值。

4.get方式提交数据会带来安全问题,比如一个登陆页面,通过get提交数据时,用户名和密码将出现在URL中,如果页面可以被缓存或者其他人可以访问这台机器 ,就可以从历史记录获得该用户的账户和密码。

get是从服务器获取数据,post向服务器传送数据。

get是把参数数据队列加到提交表单的action属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML.header内一起传送到action属性所指的URL地址。用户看不到这个过程。

对于get方式,服务器端用request.querystring获取变量的值,对于post方式,服务器端用request.form获取提交的数据

get传送的数据量较小,不能大于2KB.POST传送的数据量较大,一般被默认为不受限制。但理论上,限制取决于服务器的处理能力。

get安全性较低。post安全性较高。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值