- Java基础 自己不熟的地方
--本文仅粉丝可见
1 java 中的类是单继承 ,多实现
2 typeof返回的是值的类型 typeof(123+"")= string
3 函数声明会提前,由于存在同名函数,后面的add函数将覆盖第一个add函数,
4 队尾指针是rear,队头是front,其中QueueSize为循环队列的最大长度
1.队空条件:rear==front
2.队满条件:(rear+1) %QueueSIze==front
3.计算队列长度:(rear-front+QueueSize)%QueueSize
4.入队:(rear+1)%QueueSize
5.出队:(front+1)%QueueSize
通过JDBC访问数据库步骤:
1、加载JDBC驱动程序:
2、提供JDBC连接的URL
3、创建数据库的连接
4、创建一个Statement
5、执行SQL语句
6、处理结果
7关闭JDBC对象
后缀是Stream的都是字节流,其他的都是字符流
1.静态内部类才可以声明静态方法
2.静态方法不可以使用非静态变量
3.抽象方法不可以有函数体
标识符由:字母、数字、下划线、美元符$组成
-n=~n+1
重写接口中的方法,访问权限一定是public
public>protected>default>private
final修饰的方法,不允许被子类覆盖。
final修饰的类,不能被继承。
final修饰的变量,不能改变值。
final修饰的引用类型,不能再指向别的东西,但是可以改变其中的内容。
final修饰的引用类型,不能再指向别的东西,但是可以改变其中的内容。
final修饰的成员变量为基本数据类型是,在赋值之后无法改变。当final修饰的成员变量为引用数据类型时,在赋值后其指向地址无法改变,但是对象内容还是可以改变的。
final修饰的成员变量在赋值时可以有三种方式。1、在声明时直接赋值。2、在构造器中赋值。3、在初始代码块中进行赋值。
一个Java源文件中只能有一个public类,且与文件名一致。但可以有多个非public类。
java.lang包是java语言的核心包,lang是language的缩写
java.lang包定义了一些基本的类型,包括Integer,String之类的,是java程序必备的包,有解释器自动引入,无需手动导入
类的加载顺序
先父类静态―>子类静态―>父类非静态―>父类构造函数―>子类非静态―>子类构造函数
JSP内置对象和属性列举如下:
1.request对象
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
2.response对象
response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。
3.session对象
session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.
4.out对象
out对象是JspWriter类的实例,是向客户端输出内容常用的对象
5.page对象
page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例
6.application对象
application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。
7.exception对象
exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象
8.pageContext对象
pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本 类名也叫pageContext。
9.config对象
config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Serv
A:try语句块中是可能出现异常的代码,在一个异常处理中是只出现一次的
B:finally语句块是指异常处理完后必须要执行的部分,这部分不是必须的,可以不写
C:throws用法:在方法头部分使用throws来声明这个方法可能回避的异常,当有异常抛出时会中断该方法,而异常被抛到这个方法的调用者那里,由调用者来处理这个异常。
D:catch语句块是用来捕获异常的,可以捕获各种不同的异常,因此是可以还有多个catch块的,每个块用于捕获不同的异常,来进行不同的处理。
A:变量不能被defalut修饰
B:native修饰方法,native修饰的方法简单来说就是:一个Java方法调用了一个非Java代码的接口。
定义navtive方法时,并不提供实现体,因为其实现体是用非Java语言在外面实现的。native可以和任何修饰符连用,abstract除外。因为native暗示这个方法时有实现体的,而abstract却显式指明了这个方法没有实现体。
C:abstract修饰方法和类
D:final修饰的方法不能被重写。而abstract定义的方法没有实现,必须被子类重写,明显不能一起使用。
Vector是实现了List接口,是一个线程安全的List
包(package)由一组类(class)和接口(interface)组成
final用于声明属性、方法、类。分别表示属性不可更改、方法不能被覆盖、类不能被继承。
C,Arraylist是非线程安全的,其对应的线程安全类是Vector
Properties继承了hashtable,是线程安全的
Boolean 是一个类,而不是关键字。
boolean 类型的默认值为 false
String s1 = "runoob";
String s2 = "runoob";
System.out.println("s1 == s2 is:" + s1 == s2);
Java 中 + 操作法的优先级大于 ==,所以输出部分表达式等于 “s1 == s2 is:runoob” == “runoob”,该表达式计算结果为 false。
char c = 65;
System.out.println("c = "+c);
c 变量为 char 类型,65 对应的 ASCII 码为 A。