java


Test extends HttpServlet:子类继承了父类。
J2EE的程序都是放在服务器中运行的。
能放在Tomcat上运行的类必须继承Httpseverlet.
每次访问类的时候是从类的service方法开始运行的。
Servlet是服务器端的小程序。用来拓展服务器的功能。
Tomcat 就是servlet容器。
Get和post是我们做开发时的两种主要的参数传递形式。
Get是明文的,传输的字符串是有限的,post是加密的,传输的数据量也比较多。
想要运行一个程序必须有一个主方法,想要使用一个对象,必须自己创建出来。


:给它们隔开。
Webroot的作用是往tomcat里部署的文件。
部署到tomcat上的类必须是一个servlet。
编程不重写service,重写doget和dopost.
Init初始化用的。
Java脚本只能运行在客户端。
CGI脚本是因为这里面有个cgi-bin的路径,在许多服务器cgi-bin是仅能够放置CGI脚本的目录。
200状态位:正常访问到。
403状态位:Forbidden.
500状态位:Internal Server Error.
BufferedWriter.flush:清空缓冲区里的内容。
清空缓冲区里的东西。
Httplook用于查找一个网页建了多少个链接。
Tomcat可以直接运行
Conf下面的context.xml里配置,监控tomcat下的文件改变tomcat自动reloading。
PrintWriter 是一种字符类型。


static成员变量只有一份,而且被该类的所有对象共享。
静态变量存放在数据区。属于整个类,不属于专门某个对象。
静态变量用类名加上点来访问。
字符串常量放在数据区。
字符串也是一种引用类型。
java中叫引用。
局部变量永远在栈里。new出来的东西永远在堆里。静态的东西永远在数据区。
在static方法中不可访问非static得成员。
包名约定俗成的把域名倒过来。
class文件的最上层包的父目录必须位于classpath下。
不同的项目设置不同的classpath,互相之间不会产生影响。
执行一个类需要写全包名。
jar就是一个压缩包,可以点右键解压。
把自己的文件打包成一个jar包:命令提示符中输入:jar -cvf 文件名.jar *.*
J2SDK中主要的包:c:\jdk5.0\jre\lib\rt.jar (rt:运行时,java文件运行时需要的所有的class文件)
可以把jar包设成classpath:.;D:\java\testpackage\test.jar
权限修饰符:public、default、protected、public
class的权限修饰只可以用public和default
public类可以在任意的地方被访问。
default类只可以被同一个包内部的类访问。
java中使用extends关键字实现类的继承机制。
通过继承,子类自动拥有了父类的所有成员变量和方法。
java只支持单继承,不允许多继承。一个子类只能有一个父类。
对象没有构造方法,编译器会自动帮你添加。
变量的前面没有权限修饰符,那么就是默认default类型。
default是一个包

权限。
从父类继承下来的private权限修饰符,只能继承下来,不能用。
protected从父类继承下来的权限修饰符子类也可以用。
在子类中可以根据需要对从基类中继承来的方法进行重写。
重写的方法必须和被重写方法既有相同方法名称、参数列表和返回类型。
重写方法不能使用被重写方法更严格的访问权限。
只有调用构造方法,对象才能被搭建起来。
子类的构造的过程中必须调用其父类的构造方法。
子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法。
使用this(argument_list)调用本类的另外的构造方法。
如果调用super,必须写在子类构造方法的第一行。
如果子类的构造方法中没有显示地调用父类的构造方法,则系统默认调用父类无参数的构造方法。
如果子类构造方法中既没有显式调用父类的构造方法,而父类中又没有无参的构造方法,则编译出错。
在子类的构造过程中必须调用父类的构造方法。就是加上super()。
对super的调用必须是构造函数的第一个语句。
this():调用自己类的另外一种构造方法。
object:jdk5.0->jre->lib->https://www.360docs.net/doc/d34694893.html,ng
object类是所有java类的根基类。
public class person = public class person extends object

public boolean equals(Object obj) {
obj instanceof Cat
}

父类引用指向子类对象,只看到父类的一部分,子类的看不到。
instanceof判断实际当中它是什么。
动态绑定叫多态,也叫持绑定。
动态绑定是指在执行期间判断所引用对象的实际类型,根据其实际的对象调用其相应的方法,而不是引用类型。
执行过程:就是从main开始执行的过程。
多态存在的三个必要条件:1、要有继承。2、要有重写。3、父类引用指向子类对象。
三个条件都满足时,当调用父类中被重写的方法时,实际当中new的是哪个子类对象就调用子类对象的方法。
含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
抽象类(abstract)不能被实例化,不能new出来。
抽象方法只需声明,而不需实现。
抽象类是一个残缺不全的类,new不出来一个对象。
对于不想实现的抽象方法,只需把自己写成抽象类,里面的方法就可以不写实现了。
final的变量的值不能够被改变:final的成员变量,final的局部变量(形参)。
final的方法不能够被重写,public final void m();
final的类不能够被继承,final class T{};
final相当于cons,是个常量,不能改变。
public void m(final int j):j的值一旦传进来,在方法中就不允许改变。
接口(interface)是抽象方法和常量值的定义的集合。
本质上讲,接口是一种特殊的抽象类,里面的所有的方法都

是抽象的,不用写abstract。
接口中只包含常量和方法的定义,而没有变量和方法的实现。
public interface Runner {
public static final int id = 1;
public void Start();
}
static的类型变量不属于任何专门的对象。
接口可以多重实现:一个类可以实现多继承,在接口的帮助下。
接口中声明的属性默认为public static final的;也只能是public static final的;可以写,也可以不写。
接口中只能定义抽象方法,而且这些方法默认为public的,也只能是public的。
接口可以继承其他接口,并添加新的属性和抽象方法。
多个无关的类可以实现同一个接口。
一个类可以实现多个无关的接口。class Teacher implement Singer,Painter {}
与继承关系类似,接口与实现类之间存在多态性。
interface Singer {
public void sing();
}
class Student implement Singer {
}
接口和它的实现类之间存在多态的问题。
类和类可以继承,接口和接口可以继承,类和接口只能实现。
interface Protectable {
public void beProtected();
}
interface A extends Protectable {
void m();
}//当中要实现两个方法,一个是void m();另一个是从interface Protectable继承下来的public void beProtected();
当java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。
catch(ArithmeticException e):当中的形参e的名字是自己起的,随便起。
Throwable是一个类,是所有异常类的老祖宗。
Error:系统错误,虚拟机出错,程序处理不了。
RuntimeException:可以处理也可以不处理。
finally段的代码无论是否发生异常都有执行。
getMessage()方法,用来得到有关异常事件的信息。
printStackTrace()方法,用来跟踪异常事件发生时执行堆栈的内容。
通常在finally语句中可以进行资源的清除工作:关闭打开的文件;删除临时文件。
void m(int i) throws ArithmeticException {
if(i==0)
throw new ArithmeticException("被除数为0");
}
逮异常时先逮小的,再逮大的。
重写方法需要抛出与原方法所抛出异常类型一致异常或不抛出异常。
exception异常必须处理。
runtimeexception异常可以处理,也可以不处理。
java语言中声明数组时不能指定其长度(数组中元素的个数)。int a[5];
java的数组是引用类型:int【】 s;
s = new int[5];
动态初始化:数据元素先new出空间,再赋值。
静态初始化:定义数组的同时就为数组元素分配空间并赋值。
int a[] = {3,9,8};
Date days[] = {new Date(1,4,2004),
new Date(2,4,2004),
new Date(3,4,2004)
};
数组是引用类型,每个元素被按照成员变量的规则被隐式初始化。
System.out.println("Usage:java Test \"n1"++i\"):程序一般运行到第二个

分号结束,所以要用转义字符:\"





相关文档
最新文档