文档库 最新最全的文档下载
当前位置:文档库 › Java-课程知识点复习总结

Java-课程知识点复习总结

Java-课程知识点复习总结
Java-课程知识点复习总结

Java是一种解释性的语言

垃圾收集机制:自动地不定期检查内存,自动删除垃圾。

Java Application(Java应用程序)

Java程序可以分为两类

Java Applet (Java小程序)

Java由类组成,

类是Java的基本组成单位。

Java Application,

Java应用程序的主要特点是:有一个或多个类组成,其中必有一个定义了main()方法。main()方法是自动执行的类方法,是Java应用程序运行的起始点。定义了main()方法的类称之为主类。

独立应用程序必须包含如下格式声明的主类和main()方法

public class MainClass{

public static void main(String[] args)

{ //write code here

}}

编译、执行命令

用”javac”命令编译源文件

用”java”命令解释执行类文件

标识符只能由英文字母、下划线、美元符号($)和数字组成,且第一个字符不能是数字。标识符必须是一个连续的整体,中间不能有空格。

关键字:事先定义的,有特别意义的标识符,又叫“保留字”

abstract boolean break byte case

catch char class continue default

do double else extends final

finally float for if implements

import instanceof int interface long

native new package private protected

public return short static super

switch synchronzized this throw throws

transient try void volatile while

基本数据类型

类的三大特性:1.封装性

2.继承性

3.多态性.

声明类的对象

类的对象就是以该类为模板创建出来的一个具体的实例,实例是类的一个特定实体,因为它区别于类的所有其他实例。

声明一个类的对象使用语句格式:类名实例名(如:Animal horse;)

class myClass=new class();

创建对象:Java语言使用new操作符为对象创建内存空间。即用”new”创建类的对象。

例如,为Animal类创建一个对象horse,可以这样做:

Animal horse1=new Animal(2);

Animal horse2=horse1

构造方法:是类在创建对象时,new动作要执行的方法。

构造方法带参数,类的创建也必须带参数。

public class AA

{public AA ( int m )

{ }

}

AA a=new AA(x); //x为给构造函数传递的参数

封装的四个关键字:

1.public表明该成员变量可被类外的程序访问;

访问修饰符 2.protected表明该成员变量只能被雨当前类同处一个

包中的类或当前类的子类访问;

3.private表明该该成员变量只能在该类的内部被访问。

4.static说明该成员变量时一个类变量,类变量为一个类所具有。

This变量。

含义:this表示的是当前类的当前对象本身。准确地说,this 代表了当前对象的一个引用。对象的引用可以理解为对象的一个别名,通过引用可以顺利地访问到该对象,包括访问对象的成员变量、调用对象的方法等。但是对象的引用不能作为内存地址使用,它仅仅是作为对象的名字(或别名)来使用。

对象:用this关键字可以调用到当前对象的方法或者用当前对象的成员变量。在构造函数重载时,可以使用this(parameterList);来调用相应参数的构造方法。使用this变量调用基本构造方法时,必须出现在当前构造方法的第一行。

重载是Java提供的一种多态机制,它允许在同一个类中声明多个名称相同的方法,但这些方法必须有不同的形式参数列表(参数的个数、类型或顺序不同),这就是方法的重载。

函数重载是指同一个函数名可以对应着多个函数的实现。每种实现对应着一个函数体,这些函数的名字相同,但是函数的参数的类型不同。这就是函数重载的概念。函数重载在类和对象的应用尤其重要。

构造方法

构造方法的方法名与类相同;

构造方法没有返回值(没有返回值和返回值是void是不一样的);

完成赋值。

修饰符

修饰符分为:访问控制符和非访问控制符。修饰符修饰的对象分为两个层次:一个是类层次,一个是类的成员层次。在类这个层次的修饰会对成员层次的修饰有一定的影响。

1 类的继承中,子类和父类的关系

共享性:即子类可以共享父类的公共属性和方法。

差异性:即子类和父类一定会存在某些差异,否则就应父类、子类之间的对照关系该是通一个类。

层次性:即由Java规定的单继承性,每个类都处于继承

关系树种的某一个层面。

Java要求生命的每个类都有父类,当没有现实指定父类时,父类隐含为https://www.wendangku.net/doc/ea17741573.html,ng包中的Object类。一个父类可以同时拥有多个子类,这时这个父类实际上是所有子类的公共属性和方法的集合,而每个子类则是父类的特殊化,是在公共属性的基础上的功能扩展。

Java不支持类的多重继承,只支持类的单继承,即每个子类只能有一个直接父类,类的层次为树状结构,Object类为树的根节结点。

2 什么是类的多态,什么体现了类的多态性?

多态性实质同名的不同方法在程序中共存。

为同一个方法定义几个版本,运行时根据不同的情况绑定不同的版本并执行。调用者只需要使用同一个方法名,系统就会根据不同的情况,调用相应的不同方法,从而实现不同的功能。

多态性的实现有两种:

(1)覆盖实现多态性:通过子类对父类方法的重写来实现。使用时注意,在子类重写父类方法是,要求与父类中的方法的原型(包括参数个数、类型、顺序)完全相同。程序在运行时将通过对象的不同类型,绑定到相应的方法。

(2)重载实现多态性:通过定义类中的多个同名的不同方法来实现。程序运行时是根据参数列表的不同来区分不同的方法,从而绑定到相应的方法上。

3 this和super的作用是什么?

成员函数中定义了和成员变量中相同的变量时,引用成员变量要用this.

构造函数中调用同一个类的其他构造函数时用this

子类中覆盖了父类成员变量或成员函数时,在子类中调用父类的变量或函数要用super

子类的构造函数里调用直接父类的构造函数用super,不能用于调用间接父类的构造函数。

4 什么是构造方法,其功能是什么?

定义一个新的类之后,就可以创建这个类的对象,创建一个类的对象的过程称为类的实例化,对象就是以类为模板创建的具体事例。同一个类的不同对象分别封装有相同的变量(但彼此之间的储存空间是独立的),并共享类的实例方法。

其功能是对类的对象完成赋值

5

class Person

{

String name,department;

int age;

public Person(String n){name=n;}

public Person(String n,int a){name=n;age=a;}

public Person(String n,String d,int a)

{

(1)

department=d;

}

public void show()

{

System.out.println(name+age);

}

}

public class Teacher extends Person

{

int salary;

public void show()

{

(2)

System.out.println(salary);

}

}

下面哪个可以添加到构造方法中?

A Person(n,a);

B this(Person(n,a));

C this(n,a);

D this(name,age);

下面哪个可以添加到(2)中?

A show();

B this.show();

C person.show();

D super.show();

6

public class Person

{

public int addValue(int a,int b)

{

int s=a+b;

return s;

}

}

class Child extends Person

{

}

下面的哪些方法可以加入类Child

A int addValue(int a,int b)

B public void addValue()

C public void addValue(int a)

D public void addValue(int a,int b)throws MyException

7 编写程序,定义一个类shape表示一个二维图形,方法area面积

和perimeter(周长)。定义一些二维图形,例如矩形,三角形,圆形,它们应是shape的子类,

class Shape{

int l,w;

}

class Angle extends Shape{

Angle(int l,int w){

this.l=l;

this.w=w;}

void area(){

float s;

s=l*w*0.5f;

System.out.println("三角形面积:"+s);

}

}

class Rect extends Shape{

Rect(int l,int w){

this.l=l;

this.w=w;

}

void area(){

int s;

s=l*w;

System.out.println("矩形面积:"+s);

}

void len(){

int c;

c=l+l+w+w;

System.out.println("矩形周长:"+c);

}

}

class Circle extends Shape{

Circle(int l,int w){

this.l=l;

this.w=l;

}

void area(){

double s;

s=l*l*3.14;

System.out.println("圆面积:"+s);

}

void len(){

double c;

c=2.0*l*3.14;

System.out.println("圆周长:"+c);

}

}

public class NO7 {

public static void main(String []args){

Angle lw=new Angle(3,4);

lw.area();

Rect l=new Rect(3,4);

l.area();

l.len();

Circle c=new Circle(3,4);

c.area();

c.len();

}

}

8 编写程序,定义一个Person类,含有姓名name和年龄age两个成员变量。二个构造方法,分别带一个参数

和两个参数,完成赋值功能。一个输出show()方法,输出姓名和年龄。

定义一个Student,含有成绩g成员变量,一个输出方法show(),输出姓名,年龄,和成绩。

public class No8 {

public static void main(String []args ) {

Student student = new Student("a",12, 1);

student.showInfo();

}

}

class Person {

protected String name;

protected int age;

Person(String name,int age) {

https://www.wendangku.net/doc/ea17741573.html, = name;

this.age = age;

}

void showinfo(){

System.out.println("Name:"+name+"\nage"+age);

}

}

class Student extends Person {

int grade;

Student(String name,int age){

super(name,age);

this.grade=1;

}

Student(String name,int age, int grade) {

super(name,age);

this.grade = grade;

}

void showInfo() {

System.out.printf("Name:"+name+" age"+age+" grade"+grade); }

}

1 构造函数的作用是什么?

是一种特殊的方法,主要用来在创建对象时初始化对象,即为对象成员变量赋值。

2 定义一个类score,它含有私有成员变量english(英语分数),公有成员方法setScore()用来设置english的值,printScore()用来输出english的值。在主类中定义类score的两个对象stu1,stu2,其英语成绩分别为85.5和93.5,输出这两个分数

3下面是一个计算器类的定义,请完成该类的实现

class Counter

{

int value;

public Counter(int number)

{value=number;

}

public void increment() //给原值加1

{value=value+1;}

public void decrement()//给原值减1

{value=value-1;}

public int getValue() //返回计数值

{return value;}

public void show() //显示计数值

{System.out.println(value);}

}

public class Test1{

public static void main(String []args){

Counter con=new Counter(4);

con.increment();

con.show();

}

}

4 定义一个类box,box的构造方法给盒子的边赋值(三个),用box类计算立方体的体积,并包含成员方法show()用来输出体积。

注意:利用构造方法重载

class Box{

int w,h,l;

float v;

void show(){

System.out.println("体积:"+v);

}

void ver(){

v=w*h*l;

}

Box(int l,int w,int h){

this.l=l;

this.w=w;

this.h=h;

}

Box(int l,int w){

this.l=l;

this.w=w;

this.h=1;

}

}

public class Test {

public static void main(String []args) { Box box=new Box(3,4,5);

box.ver();

box.show();

}

}

史上最全Java基础知识点归纳 写这篇文章的目的是想总结一下自己这么多年来使用Java的一些心得体会,主要是和一些Java基础知识点相关的,所以也希望能分享给刚刚入门的Java 程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE 相关的、和Java中各个框架相关的内容。 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1.JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资

深开发者来说,不会JVM几乎是不可接受的。 JVM作为Java运行的基础,很难相信对于JVM一点都不了解的人可以把Java语言吃得很透。我在面试有超过3年Java经验的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证Java开发能力的高低。 在JVM这个大类中,我认为需要掌握的知识有: JVM内存模型和结构 GC原理,性能调优 调优:Thread Dump,分析内存结构 class二进制字节码结构,class loader体系,class加载过程,实例创建过程 方法执行过程 Java各个大版本更新提供的新特性(需要简单了解) 2.Java的运行(基础必备) 这条可能出看很简单,Java程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行Java程序,底层IDE又是如何执行Java程序呢?很多人并不了解。

https://www.wendangku.net/doc/ea17741573.html,ng.Object 类,是所有类的根父类! 2.Object类仅有一个空参的构造器public Object(){ } 3.关于方法: ①equals(Object obj) public boolean equals(Object obj) { return (this == obj); } // == // 1.基本数据类型:根据基本数据类型的值判断是否相等。相等返回true,反之返回false // 注:两端数据类型可以不同,在不同的情况下,也可以返回true。 // 2.引用数据类型:比较引用类型变量的地址值是否相等。 //equals(): >①只能处理引用类型变量②在Object类,发现equals()仍然比较的两个引用变量的地址值是否相等 >像String 包装类File类Date类这些重写Object类的equals()方法,比较是两个对象的 //"实体内容"是否完全相同。 >若我们自定义一个类,希望比较两个对象的属性值都相同的情况下返回true的话,就需要重写Object类的 equals(Object obj)方法 ②toString()方法

当我们输出一个对象的引用时,会调用toString()方法。 1.public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } 当我们没有重写Object类的toString()方法时,打印的就是对象所在的类,以及对象实体在堆空间的位置 2.一般我们需要重写Object类的toString()方法,将此对象的各个属性值返回。 3.像String类、Date、File类、包装类都重写了toString()方法。 1. String类:不可变的字符序列(如:String str = "atguigu"; str += "javaEE") 1.关注于String常用的方法! 2.String类与基本数据类型、包装类;与字符数组、字节数组; * 1.字符串与基本数据类型、包装类之间转换 * ①字符串--->基本数据类型、包装类:调用相应的包装类的parseXxx(String str); * ①基本数据类型、包装类--->字符串:调用字符串的重载的valueOf()方法 *

Created by AIwen on 2017/5/14. java是面向对象的程序设计语言;类可被认为是一种自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都是引用变量,它们将会引用到类的对象。类用于描述客观世界里某一类对象的共同特征,而对象则是类的具体存在,java程序使用类的构造器来创建该类的对象。 java也支持面向对象的三大特征:封装、继承、和多态。java提供了private、protected、和public三个访问控制修饰符来实现良好的封装,提供了extends关键字让子类继承父类,子类继承父类就可以继承到父类的成员变量和和方法,如果访问控制允许,子类实例可以直接调用父类里定义的方法。继承是实现类复用的重要手段。使用继承关系来实现复用时,子类对象可以直接赋给父类变量,这个变量具有多态性。 面向对象的程序设计过程中有两个重要的概念:类(Class)和对象(object,也被称为实例,instance)。类可以包含三种最常见的成员:构造器、成员变量、和方法。 构造器用于构造该类的实例,java语言通过new关键字类调用构造器,从而返回该类的实例。构造器是一个类创建对象的根本途径,如果一个类没有构造器,这个类通常无法创建实例。因此java语言提供了一个功能:如果程序员没有为一个类编写构造器,则系统会为该类提供一个默认的构造器,这个构造器总是没有参数的。一旦程序员为一个类提供了构造器,系统将不再为该类提供构造器。 构造器用于对类实例进行初始化操作,构造器支持重载,如果多个重载的构造器里包含了相同的初始化代码,则可以把这些初始化代码放置在普通初始化块里完成,初始化块总在构造器执行之前被调用。静态初始化块代码用于初始化类,在类初始化阶段被执行。如果继承树里某一个类需要被初始化时,系统将会同时初始化该类的所有父类。 构造器修饰符:可以是public、protected、private其中之一,或者省略构造器名:构造器名必须和类名相同。 注意:构造器既不能定义返回值类型,也不能使用void声明构造器没有返回值。如果为构造器定义了返回值类型,或使用void声明构造器没有返回值,编译时不会出错,但java会把这个所谓的构造器当成方法来处理——它就不再是构造器。 实际上类的构造器是有返回值的,当使用new关键字来调用构造器时,构造器返回该类的实例,可以把这个类的实例当成构造器的返回值。因此构造器的返回值类型总是当前类,无须定义返回值类型。不要在构造器里显式的使用return来返回当前类的对象,因为构造器的返回值是隐式的。 java类名必须是由一个或多个有意义的单词连缀而成的,每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。 成员变量: 成员变量的修饰符:public、protected、private、static、final前三个只能出现一个再和后面的修饰符组合起来修饰成员变量,也可省略。 成员变量:由一个或者多个有意义的单词连缀而成,第一个单词首字母小写,后面每个单词首字母大写,其他字母全部小写,单词与单词之间不要使用任何分隔符。 类型:可以是java语言允许的任何数据类型,包括基本类型和引用类型。 成员方法: 方法修饰符:public、protected、private、static、final、abstract,前三个只能出现一个,static和final最多只能出现其中的一个,和abstract组合起来使用。也可省略。 返回值类型:可以是java语言的允许的任何数据类型,包括基本类型和引用类型。 方法名:和成员变量的方法命名规则相同,通常建议方法名以英文动词开头。 方法体里多条可执行语句之间有严格的执行顺序,排在方法体前面的语句总先执行,排在方法体后面的语句总是后执行。 static是一个特殊的关键字,它可用于修饰方法、成员变量等成员。static修饰的成员表明它属于这个类本身,而

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (16) 第四章循环语句 (22) 第五章方法 (28) 第六章数组 (35) 第七章面向对象 (44) 第八章异常 (65)

第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心 的部分,包含Java最核心的类库。 ?JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装 配、部署企业级应用,包含Servlet、JSP、 JavaBean、JDBC、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platform Micro Edition,微型版),用于小型电子设备 上的软件开发。 2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径, JVM在运行时通过classpath加载需要 的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将编 写好的Java文件(.java)编译成Java 字节码文件(.class); ?java.exe:Java运行工具,启动Java虚 拟机进程,运行编译器生成的字节码 文件(.class) 5、一切程序运行的入口 public static void main(String args []){ System.out.println(“Hello World!”); } 课堂笔记

j a v a面向对象知识点总 结 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

1 类和对象 类: 类是用来描述一类事物的共性内容的, 类是抽象的; 创建类,如何描述 属性功能 用变量来描述属性 用方法来描述功能 对象: 就是现实中具体的事物,对象是具体的; 创建对象 类名对象名 = new 类名(); 如何通过对象访问类中属性和方法呢 对象名.变量名 对象名.方法名(); 只要是new的对象,就是新创建的,就会在内存中开辟一段单独的空间匿名对象 创建的对象没有赋值给具体的变量; 所以给匿名对象的属性赋值是没有任何意义的; 匿名对象使用场景

1 调用方法 2 作为参数传递 3 添加进容器中 This 关键字 This. 类中的普通方法访问到的成员前边都有this.这个关键字This. 就代表当前对象, 普通方法, 创建对象调方法, 谁调用就代表谁 This(); 可以用来在构造函数中调用本类与之相对应的构造函数使用注意事项: 1 this() 只能是构造函数的第一条执行语句 2 this() 不能在构造函数之间相互调用 3 this() 不能调用自己 构造函数(方法) 构造函数的作用 用来给对象进行初始话的(初始化就是指给对象的各个属性赋值) 构造函数何时执行 对象一创建就会调用与之相对应的构造函数

构造函数语法 修饰符没有返回值类型类名(参数列表){ 具体执行的代码 } 构造函数自动添加 当一个类中我们没有明确指定构造函数的话,jvm会自动帮我们添加一个空参数的构造, 如果我们指定了,就不添加了 构造函数和普通函数的区别 执行时机不同 对象一创建就会调用与之相对应的构造函数 普通函数只有被调用才会执行 return 1 就是用来在方法中返回具体结果(结果类型必须和方法的返回值类型一致) 2 即便方法的返回值类型是void,方法中也可以出现 return; 3 构造函数中也可以有return关键字 成员变量和局部变量 1 作用范围不同, 成员变量是定义在类中的,在整个类中都起作用 局部变量是定义在方法中的,在所在代码块起作用

一、单选题 1.对类:(B) public class Test( //...do something } 下面那个正确地定义了类Test的构造函数。 A)public void Test() () B)publicTest()(} C ) public static Test() (} D) publicTest(); 2.下面哪个函数是public void example()(...)的重载函数。(A) A)public void example( float f)(...) B)public int example() (...) C)public void example2()(...} D)public int example_overLoad ()(...) 3.下面的代码段中,执行之后i和j的值是_C_。 int i = 1; intj; j = i++; A)1, 1 B) 1,2 C) 2, 1 D) 2,2 4.以下for循环的执行次数是_B o for(int x=0,y=0;(y !=0)&&(x<4) ;x++); A)无限次B) 一次也不执行 C)执行4次D)执行3次 5.下面程序的输出结果是—C o public class People( String name; int id; public People( String str, int n )( name = str; id = n; } public String toString(){ return id + " :” + name; } public String print()(

目录 第一章Java入门2? 第二章 Java基础5? 第三章条件转移1?4 第四章循环语句20? 第五章方法 ............................................... 26 第六章数组33? 第七章面向对象........................................... 42第八章异常63? ? 第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个 平台中最核心的部分,包含Java最核 心的类库。?JavaEE:(J2EE,Java 2 Platform, EnterpriseEdition,企业版), 开发、装配、部署企业级应用,包含 Servlet、JSP、JavaBean、JDB C、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platfor mMicro Edition,微型版),用于 小型电子设备上的软件开发。

2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径,J VM在运行时通过classpath加载需 要的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将 编写好的Java文件(.java)编译成 Java字节码文件(.class); ?java.exe:Java运行工具,启动Java 虚拟机进程,运行编译器生成的字节 码文件(.class) 5、一切程序运行的入口 publicstatic voidmain(String args []){ System.out.println(“Hel lo World!”); } 课堂笔记 练习题 一、填空题 1、Java的三个技术平台分别是(J2SE )、(J2EE)、(J2ME)。 2、Sun公司针对领域不同,提供了三个Java版本,其中对于个人计算机程序开发的是( J2SE ), 对于企业开发应用的是(J2EE),对于嵌入式设备应用开发的是( J2ME )。 (classpath )。 3、建立Java开发环境,安装JDK,一般需要设置环境变量(path)、 4、编写一个Java源程序,其文件名为Test.java,则编译该源程序的命令为(javac ),运行 该程序的命令为( java),生成文档注释的命令为( javadoc)。 5、Java程序的运行环境简称之为( JRE)。

1. 基本数据类型 整形: byte 1 个字节 short 2 个字节 int 4个字节 long 8个字节 字符: char 2个字节 浮点数: float 4个字节 double 8个字节 布尔: boolean 1个字节 2.java 7 新增二进制整数 以0b或者0B开头 3.java中字符时16位的Unicode编码方式,格式是'\uXXXX',其中xxxx代表一个十六进制整数 4.java中规定了正无穷大、负无穷大和零 正无穷大= 一个正数除以0 负无穷大= 一个负数除以零 0.0 除以0.0 或者对一个负数开方得到一个非数 5. 在java中布尔类型只能是true和false 6. 在java中没有多维数组 动力节点

看似像C语言中的多维数组不是真正的数组,比如 a[3][4] , a[0] a[1] a[2] 是真实存在的,装的是地址,和 c语言中动态分配为的数组一样 int [][] b = new int[3][4] 7. Java中带包的编译方法 javac -d . Hello.java 会在当前目录下生成目录树 运行 java 包名字.类名字 8. Java多态中的对象的filed 不具有多态性,如父类对象 = new 子类(),对象.field 是调用的父类的,即使子类中覆盖了该字段。 9. instanceof 运算符 格式:引用变量名 instanceof 类名(或者接口)他用于判断前面的对象是否是后面对象的类,子类、实 现类的实例,是返回true,否者返回false 10. Java 中基本数据类型和对应封装类之间的转化 int a = 1; Integer A = new Integer(a); a = A.intValue(); 其他的类型也是这样的。 11.单例(singleton)类例子 复制代码代码如下: class Singleton { private static Singleton instance; private Singleton(){} public static Singleton getInstance() { 动力节点

Java基础知识总结 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。4,代码实现。用具体的java语言代码把思路体现出来。 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用。demo 4,该技术什么时候用?test。 ----------------------------------------------------------------------------------------------- 一:java概述: 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器; 1994年将Oak语言更名为Java; Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发; JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;

JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序; 1,JDK:Java Development Kit,java的开发和运行环境,java 的开发工具和jre。 2,JRE:Java Runtime Environment,java程序的运行环境,java 运行的所需的类库+JVM(java虚拟机)。 3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。 环境变量的配置: 1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk path=%JAVA_HOME%\bin 2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin 特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。 classpath的配置: 1):永久配置方式:classpath=.;c:\;e:\ 2):临时配置方式:set classpath=.;c:\;e:\ 注意:在定义classpath环境变量时,需要注意的情况如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;

java知识点总结 应同学要求,特意写了一个知识点总结,因比较匆忙,可能归纳不是很准确,重点是面向对象的部分。 java有三个版本:JAVA SE 标准版\JAVA ME移动版\JAVA EE企业版 java常用命令:java, javac, appletview java程序文件名:.java, .class java的两类程序:applet, application; 特点,区别,这两类程序如何运行 java的主方法,主类,共有类;其特征 java的数据类型,注意与C++的不同,如字符型,引用型,初值 java与C++的不同之处,期中已总结 java标记符的命名规则 1)标识符有大小写字母、下划线、数字和$符号组成。 2)开头可以是大小写字母,下划线,和$符号(不能用数字开头) 3)标识符长度没有限制 4)标识符不能使关键字和保留字 面向对象的四大特征 抽象、封装、继承、多态 封装,类、对象,类与对象的关系,创建对象,对象实例变量 构造函数,默认构造函数,派生类的构造函数,构造函数的作用,初始化的顺序,构造方法的重载 构造函数:创建对象的同时将调用这个对象的构造函数完成对象的初始化工作。把若干个赋初值语句组合成一个方法在创建对象时一次性同时执行,这个方法就是构造函数。是与类同名的方法,创建对象的语句用new算符开辟了新建对象的内存空间之后,将调用构造函数初始化这个新建对象。 构造函数是类的特殊方法: 构造函数的方法名与类名相同。 构造函数没有返回类型。 构造函数的主要作用是完成对类对象的初始化工作。 构造函数一般不能由编程人员显式地直接调用。 在创建一个类的新对象的同时,系统会自动调用该类的构造函数为新对象初始化。 类的修饰符:public类VS 默认; abstract类; final类; 1)类的访问控制符只有一个:public,即公共的。公共类表明它可以被所有其他类访问和引用。 若一个类没有访问控制符,说明它有默认访问控制特性,规定该类智能被同一个包中的类访问引用(包访问控制)。 2)abstract类:用abstract修饰符修饰的类被称为抽象类,抽象类是没有具体对象的概念类,抽象类是它所有子类的公共属性集合,用抽象类可以充分利用这些公共属性来提高开发和维护效率。 3)final类:被final修饰符修饰限定的,说明这个类不能再有子类。所以abstract与final 不能同时修饰一个类。 域和方法的定义 1)域:定义一个类时,需要定义一组称之为“域”或“属性”的变量,保存类或对象的数据。

复习题2 如有雷同,纯属巧合! 1.下列哪一种叙述是正确的() A. abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 2.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 3.以下哪个表达式是不合法的() A、String x=”Hello”; int y=9; x+=y; B、String x=”Hello”; int y=9; if(x= =y) { } C、String x=”Hello”; int y=9; x=x+y; D、String x=null; int y=(x!=null)&&(x.length()>0) ? x.length() : 0 4.下列关于修饰符混用的说法,错误的是() A.abstract不能与final并列修饰同一个类 B.abstract类中不可以有private的成员 C.abstract方法必须在abstract类中 D.static方法中能处理非static的属性 5.()修饰符允许对类成员的访问不依赖于该类的任何对象 A、abstract B、static C、return D、public 6.关于被私有访问控制符private修饰的成员变量,以下说法正确的是() A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问

第一章面向对象程序设计 一、识记知识 1.结构化程序设计思想、特点、基本过程 思想:⑴自顶向下、逐步求精; ⑵模块化; ⑶语句结构化。 特点:程序设计= 数据结构+ 算法 程序内容= 过程+ 过程调用 基本过程:软件开发的基本过程: 1)需求分析、2)系统分析、3)系统实现、4)系统测试、5)系统维护 结构化贯穿于每个过程中时,其基本过程:分解和组装 2.面向对象程序设计基本思想、特点 基本思想:以对象的观点描述分析现实世界中的问题。从普通人认识世界的观点出发,把事物归类、综合,提取共性并加以描述。 特征:1)所有待处理的内容都表示成对象; 2)对象之间依靠相互发送消息或响应消息实现通信; 3)每个对象有自己的唯一标识,以便区别属于同一个类的不同对象; 4)对象一定属于某个类,这个对象又称为所属类的一个实例; 5)类是将具有共同属性的对象进行抽象的结果,他可以具有层次关系,即一个类既可以通过继承其他类而来,又可以被其他类继承。 通过公式描述:面向对象=类+对象+继承+消息+通信 3.基本概念、面向对象的4个特性 概念: 1)抽象:从许多食物中,舍弃个别的,非本质的属性,抽取出共同的、本质的属性过程,它是形成概念的不要手段。 2)封装:指将显示世界中的某个客体的属性与行为聚集在一个逻辑单元内部的机制。 3)对象:用来描述现实世界中客体的部件,是面向对象软件系统在运行时刻的基本单位。 4)类:是一组具有相同属性特征的对象的抽象描述,是面向对象程序的有一个核心概念。(具体地说,类是面向对象程序的唯一构造单位,是抽象数据类型的具体实现,是对象的生成模板) 5)消息:是一个对象要求另一个对象实施某项操作的请求。(是对象之间相互请求或相互协作的途径,是要求某个对象执行其中某个功能操作的规格的说明) 6)继承:表达了一种对象类的相交关系。是类之间的一种常见关系,为共享数据和操作提供了一种良好的机制。 7)多态:不同的类对象收到同一个消息可以产生完全不同的响应效果。 特性:抽象性、多态性、封装性、继承性 4.消息 概念:是一个对象要求另一个对象实施某项操作的请求。是对象之间相互请求或相互协作的途径,是要求某个对象执行其中某个功能操作的规格的说明。

基础 1.object类的方法有哪些 clone() protect 创建并返回一个对象的副本 equals()用来比较某个对象是否与调用此方法的对象相等 finalize() protect getClass() 返回一个对象的运行时类 hashCode()返回一个对象的hash值 notify()唤醒在此对象监听器上等待的单个线程。如果有多个,则随机唤醒一个 notifyAll()唤醒在此对象监听器上等待的所有线程 registerNatives() 本地私有方法,在类初始化是会调用此方法 toString() 返回当前对象的字符串表示 wait()使当前线程处于等待直到其他线程调用这个对象的notify或notifyAll方法或者超过指定的时间量 2.接口和抽象类的区别 1.首先描述接口和抽象类的特性 抽象类:是子类通用特性的集合 接口:是抽象方法的集合l 从某种意义上说抽象类包含了接口的所有功能。但是通过实现接口可以实现多继承

什么时候用抽象类和接口 1.如果一些方法必须提供默认的实现,就必须用抽象类,比如在dao层,每个类都有增删查改这几个操作,我们可以把这些操作写在抽象类里,并让抽象类提供默认的实现。 否则的话用接口 2.假如要实现多继承,则必须要用接口,java不支持多继承但是可以通过实现多个接口来解决 3.如果基本功能在不断改变,那么就用抽象类。如果不断改变基本功能并且使用接口,子类就必须不停的更改 03.抽象类是否有构造方法 抽象类有构造方法只是抽象类不能够实例化 4.Final finally finalize()方法的区别 5.Sleep()和wait()的区别 ①这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。 ②锁: 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。 sleep不出让系统资源;wait是进入线程等待池等待,出让系统资源,其他线程可以占用CPU。一般wait不会加时间限制,因为如果wait线程的运行资源不够,再出来也没用,要等待其他线程调用notify/notifyAll唤醒等待池中的所有线程,才会进入就绪队列等待OS 分配系统资源。sleep(milliseconds)可以用时间指定使它自动唤醒过来,如果时间不到只能调用interrupt()强行打断。 Thread.sleep(0)的作用是“触发操作系统立刻重新进行一次CPU竞争”。 ③使用范围:wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,配合synchronized实现等待通信机制,而sleep可以在任何地方使用。 synchronized(x){ x.notify() //或者wait() }

javaweb知识点总结 篇一:javaweb期末复习知识点整理 1、 Web应用概述 1. URL与URI URL: 统一资源定位器 URI:统一资源定位符 2. 常见HTML标签 3. 表单的处理 4. 静态文档与动态文档的概念:静态文档是一种以文件的形式存放在服务器端的文档,客户发出对该文档的请求,服务器返回这个文档。动态文档是指文档的内容可根据需要动态生成,又可分为服务器端动态文档和客户端动态文档技术。 5. Servlet概念:服务器端小程序,是使用ServletAPI 以及相关类编写的java程序,主要用来扩展web服务器的功能。 6. 处理404错误:查看给定的路径名是否正确,查看Servlet类文件是否在classes目录下,查看文件内容是否正确,查看tomcat是否启动 2、 Servlet技术模型 1. Servlet的API:包,包 Servlet接口及方法 :

1) public void init(ServletConfig config):完成Servlet初始化并准备提供服务。容器传给该方法一个ServletConfig类型的参数。 2)public void service(ServletRequest req,ServletResponse res)throw ServletException,IOException:对每个客户请求容器调用一次该方法,它允许Servlet为请求提供响应。 3) public void destroy()该方法由容器调用,指示Servlet清除本身,释放请求的资源并准备结束服务。 4) public ServletConfig getServletConfig()返回关于Servlet的配置信息,如传递给init()方法的参数。 5) public String getServletInfo()返回关于Servlet 的信息,如作者,版本及版权信息。 ServleConfig接口作用及方法 HttpServlet类 :新的service方法,doGet,doPost HttpServletRequest接口及常用方法 HttpServletResponse接口及常用方法 2. Servlet的开发步骤 编写一个Servlet类 编译 部署 (1)在tomcat的虚拟目录下,创建Web目录

Java基础测试题 一、选择题(每题2分) 1、在JAVA编程中,Java编译器会将java程序转换为()。 A. 字节码; B. 可执行代码; C. 机器代码; D. 以上所有选项都不正确。 2、下列那些不是合法的标识符?() A. Tel_num B. 8ABc C. Emp_1 D. b123.6 E. NULL F. Hello World 3、以下字符常量中不合法的是( )。 A. '|' B. '\'' C."\n" D.'我' 4、下列语句编译没有错误的是:() A. float a=1.5; B.byte a=129; C.byte a=5; D.byte a=(byte)200; 5、java中int数据类型在内存中表示为() A. 2个字节 B.4个字节 C. 由程序员指定 D. 以上都不正确 6、下列程序段执行后t5的结果是( )。 int t1 = 9, t2 = 11, t3=8; int t4,t5; t4 = t1 > t2 ? t1 : t2+ t1; t5 = t4 > t3 ? t4 : t3; A. 8 B.20 C.11 D.9 7、若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。 A. 0 B. 4 C. 8 D.–4 8、设 a, b, c, d 均为 int 型的变量,并已赋值,下列表达式的结果属于非逻辑值的是( ) A. a!=b & c%d < a B.a++ = =a+b+c+d C.++a*b--+d D.a+b>=c+d 9、以下代码段执行后的输出结果为() int x=3; int y=10; System.out.println(y%x); A.0 B.1 C.2 D.3 10、下列语句序列执行后,k 的值是( )。 int i=10, j=18, k=30; switch( j - i ) { case 8 : k++; case 9 : k+=2; case 10: k+=3; default : k/=j; } A. 31 B. 32 C. 2 D.33 11、假定有变量定义: int k=7,x=12; 则能使值为3的表达式是()。 A. x%=(k%=5) B.x%=(k-k%5) C. x%=k-k%5 D. (x%=k)-(k%=5) 12、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是()。 A. 把x和y按从大到小排列 B. 把x和y按从小到大排列

JSE第一部分 分享者:张振羽 2017.6.30

1.什么是 JDK API (1) Application Programming Interface ,应用程序编程接口 (2) 是一些预先定义的函数,开发人员可提供直接调用的功能。 2.JDK包结构 便于维护,按照功能划分,不同功能的累划分在不同功能的包中,常用的包如下表: 3.字符串的基本操作 3.1 String 及其API

3.1.1 String (1) String是不可变对象 (2) https://www.wendangku.net/doc/ea17741573.html,ng.String使用了final修饰,不能被继承。 (3)字符串一旦被初始化,就不可以被改变,存放在方法区中的常量池中 (4) 任何一个字符对应2个字节的长度,1个字节 = 8位二进制。 3.1.2 String s=new String (“abc”) (1) 众所周知,答案是:创建两个对象 (2) why?举例子: 分析步骤: a) 栈中开辟一块空间存放引用str1(地址信息); b) String池中有一块空间,存放String常量"abc"; c) 引用str1指向池中String常量"abc"; d) str1所指代的地址即常量"abc"所在地址,输出为true; 结论:创建了一个引用对象str1

分析步骤: 1) 栈中开辟一块空间存放引用str3; 2) 堆中开辟一块空间存放一个新建的String对象"abc"; 3) 引用str3指向堆中的新建的String对象"abc"; 4) str3所指代的对象地址为堆中地址,而常量"abc"地址在池中,输出false; 3.2 StringBuilder常见API

Java期末知识点整理总结 计科2班苏锐师编号47 学号201330551464 第一章 Java语言概述 1. Java语言发展历史和现状及前景 2. Java语言的特点: 简单、面向对象、分布式、健壮性、结构中立、 安全性、可移植、解释的、高性能、多线程、多态性 3. Java虚拟机概念(JVM),Java程序的执行过程 4. Java应用程序分类:Application和Applet 5. Java程序的开发环境:JDK,IDE 第二章 Java数据类型及其运算 1. 标识符与保留字 1.2 标识符命名语法规则与Java推荐的标识符命名规则 1.3 Java中的关键字 2. 数据类型byte, short, int long, char, float, double, boolean 注意点:Java中所有数据类型是确定的,与平台无关,没有sizeof操作,其中特别注意char 类型是2字节Unicode编码,与C++ 不同;知道基本类型都有对应的默认值。 整型数的十进制、八进制、十六进制值的表示。 实型数的十进制、十六进制与科学计数法表示,注意实型常量默认类型为double型。 3. 运算符与表达式算术运算符: + - * / % ++ -- 关系运算符:> >= < <= == != 逻辑运算符:&& || !& | 注意短路计算与非短路计算的差别 位运算符: >> << >>> & | ^ ~ 要认识异或(^)与按位取反(~)运算符 赋值运算符: += -= *= /= %= &= |= ^= <<= >>= >>>= 要注意赋值运算符中包含了强制转换: 若: int k = 1; k += 44.232D; 则相当于: k = (int) ( k + 44.232D); 条件运算符:exp ?stat1 :stat2 要注意stat1与stat2要求类型相兼容且不能为void类型。运算符的优先级:算术运算 > 关系运算> 逻辑运算

Java知识点总结 1环境搭建与开发 1.1 环境变量 JA V A_HOME:Java的安装目录; CLASSPATH:指定一个路径列表,用于搜索Java在编译或运行时需要用到的类(.class文件); PATH:指定一个路径列表,用于搜索可执行文件。 1.2 Java SDK应用 编译:Javac 类名.class; 运行:Java 类名; 打包:jar cf test.jar test (把当前目录下的test目录下的所有文件压缩到test.jar文件中)。 2变量与常量 Java中的常量用保留字final来实现。 变量:局部变量(local variable)、实例变量(instance variable)、类变量(class variable);任何变量在使用前都必须初始化,局部变量必须显示初始化,实例变量在类的构造方法被调用时初始化(分配默认值),类变量在类被加载时被初始化。 3标识符 3.1 命名 在Java语言中,标识符的定义规则是以字母、下划线、美元符开始,后面可以跟字母、下划线、美元符、数字。 因为Java语言使用Unicode字符集,所以对字母不仅限于英文,还可以是日文、韩文、阿拉伯文、中文等。 区分大小写,没有字数限制。

3.2 关键字 3.2.1static static方法中不能有this和super关键字(static方法不是“面向对象”的,而是“面向类”的)。 static方法中只能访问所属类的static方法和变量。 static数据成员的初始化:在第一次生成该类的对象时初始化。 3.2.2final 1)final数据 a)static final ●更加典型的定义方式是public static final; ●占用一段不能改变的存储空间; ●代表编译时常量,即在编译器就能知道其值(如果只声明为final或 者static,是在运行时才知道值)。 ●全部用大写字母命名,单词之间用下划线隔开。 b)final数据与final引用 ●final数据的值不能被改变; ●final引用是指无法将其指向一个新的对象(数组也是一种引用),对 象本身的值是可以改变的。 c)空白final(声明为final却未赋初始值) ●可以做到根据对象有所不同,又保持恒定不变的特性; ●必须保证使用前已经初始化:在定义处赋值或者在构造器中赋值。 2)final参数 ●无法在方法中更改引用所指向的对象。 3)final方法 ●禁止覆盖,防止任何继承类修改它的定义; ●private方法都是final的,因此private方法无法覆盖。 4)final类 ●不允许继承该类; ●final类中的所有方法都隐式指定为final的。

基础知识总结 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。 4,代码实现。用具体的语言代码把思路体现出来。 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用。 4,该技术什么时候用?。 一:概述: 1991 年公司的等人开始开发名称为的语言,希望用于控制嵌入在有线电视交换盒、等的微处理器; 1994年将语言更名为; 的三种技术架构: :,开发企业环境下的应用程序,主要针对程序开发; :,完成桌面应用程序的开发,是其它两者的基础; :,开发电子消费产品和嵌入式设备,如手机中的程序; 1,:,的开发和运行环境,的开发工具和。 2,:,程序的运行环境,运行的所需的类库(虚拟机)。 3,配置环境变量:让\目录下的工具,可以在任意目录下运行,原因是,将该工具

所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。 环境变量的配置: 1):永久配置方式:安装路径%\\ \ 2):临时配置方式::\ \\\ 特点:系统默认先去当前路径下找要执行的程序,如果没有,再去中设置的路径下找。 的配置: 1):永久配置方式::\:\ 2):临时配置方式::\:\ 注意:在定义环境变量时,需要注意的情况 如果没有定义环境变量,启动后,会在当前目录下查找要运行的类文件; 如果指定了,那么会在指定的目录下查找要运行的类文件。 还会在当前目录找吗?两种情况: 1):如果的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。 2):如果的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。 一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。 4,命令和命令做什么事情呢? 要知道是分两部分的:一个是编译,一个是运行。 :负责的是编译的部分,当执行时,会启动的编译器程序。对指定扩展名的文件进

相关文档