精华内容
下载资源
问答
  • java期末复习

    2015-04-07 23:23:19
    java期末复习
  • JAVA期末复习

    2015-09-10 22:08:28
    JAVA期末复习
  • JAVA期末复习JAVA期末复习JAVA期末复习JAVA期末复习JAVA期末复习JAVA期末复习JAVA期末复习JAVA期末复习
  • Java期末复习

    2021-07-03 11:29:53
    Java期末复习 知识点 1、Java语言的特点,优点。 简单:Java很多语句几乎和C++一样,但不是完全一样的语言,并且Java和C++各有优势,如果从语言简单性方面看来,Java要比c++简单,c++很多容易混淆的已经被弃用,...

    Java期末复习

    知识点

    1、Java语言的特点,优点。

    1. 简单:Java很多语句几乎和C++一样,但不是完全一样的语言,并且Java和C++各有优势,如果从语言简单性方面看来,Java要比c++简单,c++很多容易混淆的已经被弃用,或者用另一种方式表达,例如指针。

    2. 面向对象:Java是一种面向对象的编程语言。(封装,继承,多态)

    3. 平台无关:Java的语言,最大的优势就是与平台的无关性,因为Java可以在平台之上,再提供一个Java的虚拟环境,该环境由Java虚拟机、类库以及一些核心文件组成。

    4. 多线程:Java的特点之一就是可以有内置的多线程的支持。允许同时完成多个任务,C++没有内置的多线程机制,因此必须调用系统的多线程来进行设计。

    5. 动态:Java程序的基本单元是类,有些类是自己编写的,有些是从类库中引入,但是在运行时动态装载,这就可以在分布环境中动态的维护类库。

    2、Java程序分为哪两种?各自的特点?运行过程?

    java application 和java applet。前者是完整的应用程序,需要独立的解释器来解释运行;后者则是嵌在网页中的非独立程序,由浏览器所自带的java解释器来解释运行。

    1. 运行方式不同。Java Applet程序不能单独运行,它必须依附于一个用HTML语言编写的网页并嵌入其中,通过与Java兼容的浏览器来控制执行。 Java Application是完整的程序,可以独立运行,只要有支持Java的虚拟机,它就可以独立运行而不需要其他文件的支持。

    2. 运行工具不同。运行Java Applet程序的解释器不是独立的软件,而是嵌在浏览器中作为浏览器软件的一部分。Java Application程序被编译以后,用普通的Java 解释器就可以使其边解释边执行,而Java Applet必须通过网络浏览器或者Applet观察器才能执行。

    3. 程序结构不同。每个Java Application程序必定含有一个并且只有一个main方法,程序执行时,首先寻找main方法,并以此为入口 点开始运行。含有main方法的那个类,常被称为主类,也就是说,Java Application程序都含有一个主类。而Applet程序则没有含 main方法的主类,这也正是Applet程序不能独立运行的原因。尽管Applet没有含main方法的主类,但Applet一定有一个 从 java.applet.Applet派生的类,它是由Java系统提供的。

    4. Java Applet程序可以直接利用浏览器或AppletViewer提供的图形用户界面,而Java Application程序则必须另外书写专用代码来营建自己的图形界面。

    5. 受到的限制不同Java Application程序可以设计成能进行各种操作的程序,包括读/写文件的操作,但是 Java Applet 对站 点的磁盘文件既不能进行读操作,也不能进行写 操作。然而,由于 Applet的引入,使Web页面具有动态多媒体效果和可交互性能,这使由名为超文本、实为纯文本的HTML语言编写成的Web页面真正具有了超文本功 能,不但可以显示文本信息,而且还可以有各种图片效果和动态图形效果,从而使页面显得生动美丽;另外,Applet使Web页面增加了按钮等功能,从而增 加了交互性。

    3、Java的数据类型?标识符命名规则

    Java有8种基本数据类型,分别是boolean,byte,short,int,char,long,float,double

    可以分为四类

    • 逻辑类型:boolean

    • 整数类型:byte,int,long,short

    • 字符类型:short

    • 浮点类型:float,double

    标识符的命名规则:

    • 标识符由字母,下划线,美元符号和数字组成,长度不受限制

    • 标识符的第一个字符不能是数字

    • 标识符不能是关键字

    • 标识符不能是true,false,null

    4、类的定义,组成。成员变量,成员方法,构造方法的定义及使用,访问控制符,this,super的概念

    类的定义

    类是Java程序的一个基本的要素,Java程序由若干个类组成,这些类可以分布在不同的源程序中


    类的组成

    类由类的声明和类体组成

    class 类名{
    	类的内容
    }
    

    其中class 类名称为类的声明,类名要符合标识符的规则,最好首字母大写,使用驼峰的命名规则。

    类的目的是抽象出一类事物共有的属性和行为,并且由一定的语法格式来描述他们,所以说类是一种用于创建具体实例的数据类型,类使用类体来描述这些属性和行为,所以**{ }**内的内容就是类体


    类的成员变量

    类的内容可以分为两部分,一部分是变量的声明,另一部分是类的定义。其中声明部分的变量称为成员变量(域变量),其中成员变量可以使用任何的一种数据类型,并且在类中的书写位置没有先后之说。

    例如

    class 类名 {
    	int a; //成员变量
    }
    

    方法

    方法的定义为两部分:方法头和方法体

    方法头 {
    	方法体
    }
    

    方法头由方法的类型,名称和名称之后的一对参数列表所构成


    构造方法

    构造方法是一种特殊的方法,当程序用类来创建对象的时候,需使用它的构造方法,类中的构造方法的方法名称需要和类名完全相同,且没有返回类型。一个类中允许由若干的构造方法,但是必须保证他们的参数列表不同。

    class Abc{
    	Abc(){
    		方法体
    	}
    	Abc(int a){
    		方法体
    	}
    }
    

    访问控制符

    java的访问限制修饰符由private,public,protected,default这四种

    private:当类中属性或方法被private修饰时,表示此成员或方法只能被自己类中的方法使用,而不能被外部类或对象直接使用。

    public:具有公共访问权限。如果类中的属性或方法被public修饰,则此类中的属性或方法可以被任何类调用。

    protected:具有子类访问权限。如果类中属性或方法被protected修饰符修饰,则此类中属性或方法可以被同一包下的类使用,也可以被不同包下的子类使用,但不能被不同包下的其他类使用。

    default:具有包访问权限,如果类中属性或方法不使用public,protected,privete修饰符修饰时,则说明其具有包访问权限,具有包访问权限的属性或方法既可以被自己类中的方法使用也可以被同一包下的其他类使用,但不能被其他包中的类使用。

    privatedefaultprotectedpublic
    同一个类++++
    同一个包-+++
    子类--++
    全局---+

    this和super

    this出现在构造方法当中时,代表该构造方法的所创建的对象,当在实例方法中,this代表了正在调用该方法的对象,当实例方法中的局部变量和成员变量不同的时候,this可以省略,但相同观点时候就不能省略。

    super关键字可以用于访问子类隐藏的继承的成员变量,如果子类想要使用被隐藏的成员变量那么就要使用super这个关键字例如

    super.n=n //其中n被隐藏
    

    也可以调用父类的构造方法,如果子类的构造方法,会优先于父类的构造方法,默认的会调用父类的构造方法,可以使用super来调用父类的某个构造方法。

    super(str);
    

    5、包,接口的概念,

    包是Java的一个有效的的管理类的一个机制,不同的Java的源文件可能会出现相同名称的类,如果要区分这些类就要使用包的名称,包名的目的是有效的区分相同名称的类。

    package 包名;
    

    接口

    接口使用的关键字是interface,由接口声明和接口体,接口体所有的常量的修饰符一定是public,而且是statice常量,所有的方法一定是public的访问权限

    interface A{
    	接口体
    }
    

    接口要想使用接口,必须要实现接口内的所有的的方法,关键字implements来实现接口,例如

    class B implements B{	类体}
    

    如果一个在实现接口的时候没有实现所有的方法,那么这个类必须是抽象类 (abstract),接口可以抽象出重要的行为的标准,随后再用标准来表示,实现接口的类的对象的引用可以给接口的变量,该接口变量便可以调用接口的方法。

    6、继承和多态,覆盖和重载的概念

    继承:继承是一种由已知的类创建新类的机制,利用继承可以先定义一个共有属性的一般类,再根据一般类再定义具有特殊属性的子类,子类继承一般类的属性和行为,并根据需求增加自己的新的属性。继承使用的关键字是extends继承,并且继承时不允许多继承,只允许继承一个。(将父类的成员变量和方法,继承为自己的一个成员变量)

    多态:多态是同一个行为具有多个不同表现形式或形态的能力。它是面向对象程序设计(OOP)的一个重要特征。多态的核心技术之一是使用上转型对象,子类也可以体现多态,子类可以根据需求重写父类的某个方法,子类通过重写方法可以把父类的状态和行为改变为自身的状态和行为,同理接口和子类也类似,由接口产生的多态就是指不同的类实现接口可以由不同的实现方式。

    覆盖(重写):子类可以通过重写隐藏已继承的方法(方法重写称为方法覆盖),如果子类继承某个方法,那么子类就有权利去重写这个方法。所有的重写方法就是在子类中定义一个方法,这个方法和父类的方法一致,即参数列表,和名字,方法类型完全一致。访问修饰符一定要大于被重写方法的访问修饰符。

    重载:一个类中可以由多种方法具有相同的名字,但是这些方法的参数列表不能相同,即要满足下面的条件之一:参数的个数不同,或者参数的个数相同,但是参数列表中对应的某个参数的类型不同。

    7、抽象类和最终类的基本概念,抽象类和接口的比较

    抽象类:使用abstract关键字来修饰的类称为抽象类,使用abstract来修饰的方法叫做抽象方法,在抽象类不允许实例化,抽象方法只允许声明哪个,不允许实现,且不允许使用final来进行修饰,也不允许使用static来修饰abstract方法。抽象类不能使用new来进行创建对象,他的子类必须要重写父类的abstract方法,否则该子类需要用abstact来进行修饰,作为一个抽象类。抽象类可以使用向上转型来进行对象的声明,抽象类是抽象出来的一个行为的标准,为子类奠定基础


    最终类:可以使用 final 将类声明为 final类。final 类不能被继承,即不能有子类。A 就是一个 final 类,将不允许任何类声明成 A 的子类。有时候是出于安全性的考虑,将一些类修饰为 final类。例如,Java在java.lang 包中提供的 String类(见第 8章)对于编译器和解释器的正常运行有很重要的作用,Java 不允许用户程序扩展 String类,为此,Java将它修饰为 final 类。


    抽象类和接口的比较:

    抽象类是一个类,如果一个类中有抽象方法,那么这个类就成了抽象类,

    • abstract 类和接口都可以有 abstract 方法。

    • 抽象类当中可以可以存在非abstract方法,但是接口中不能(1.8之后允许接口定义非抽象方法)

    • 抽象类中既可以有常量也可以有变量,但是接口中只能有常量而不能有变量(接口中的成员都使用public final static 来进行修饰)

      (下面是书上没有的)

    • 一个类只能继承一个抽象类,而一个类可以实现多个接口。

    • 抽象类可以有构造方法,接口中不能有构造方法。

    • 抽象类中抽象方法的访问类型可以是public,protected,但接口中抽象方法的访问类型只能是public,并且默认为public abstract(省略则自动默认补全)。

    8、Java GUI常见组件和容器,布局管理器

    通过图形用户界面(Graphics User Interface,GUI),用户和程序之间可 以方便地进行交互。常见的组件有
    ① JTextField(文本框)② JTextArea(文本区)③ JButton (按钮)④ JLabel(标签)⑤ JCheckBox(复选框)⑥ JRadioButton (单选按钮)⑦JComboBox(下拉列表)⑧JPasswordField(密码框)


    JComponent 是 Container 的子类,因此 JComponent 子类创建的组件也都是容器,但我们很少将 JButton、JTextFied、JCheckBox 等组件当容器来使用。JComponent 专门提供了一些经常用来添加组件的容器。

    ① Panel 面板 ②JTabbedPane 选项卡窗格 ③滚动窗格 JScrollPane ④LayeredPane 分层窗格


    把组件添加到容器中时,希望控制组件在容器中的位置,就需要学习有关布局的知识。

    ①FlowLayout 布局 ②BorderLayout 布局 ③CardLayout 布局 ④GridLayout 布局 ⑤null布局 ⑥ BoxLayout 布局

    9、Java线程的生命周期及常用方法。

    Java 语言使用 Thread类及其子类的对象来表示线程,新建的线程在它的一个完整的生命周期中通常要经历如下的 4 种状态。

    1. 新建:当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。此时它已经有了相应的内存空间和其他资源。
    2. 运行:线程创建之后就具备了运行的条件,一旦轮到它来享用 CPU 资源时,即 JVM将 CPU 使用权切换给该线程时,此线程就可以脱离创建它的主线程独立开始自己的生命周期了。线程创建后仅仅是占有了内存资源,在 JVM 管理的线程中还没有这个线程,此线程必须调用 start()方法(从父类继承的方法)通知 JVM,这样JVM 就会知道又有一个新线程排队等候切换了。
    3. 中断:如果一个线程执行了sleep(睡眠)、suspend(挂起)等方法,失去所占用资源之后,该线程就从运行状态进入中断状态。
    4. 死亡:处于死亡状态的线程不具有继续运行的能力。线程死亡的原因有二,一个是正常运行的线程完成了它的全部工作,即执行完run()方法中的全部语句,结束了run()方法;另一个原因是线程被提前强制性地终止,即强制 run()方法结束。所谓死亡状态就是线程释放了实体,即释放分配给线程对象的内存。

    Java 创建线程的方法: 通过实现 Runnable 接口;通过继承 Thread 类本身;

    常用方法:

    • start():使用 start() 线程开始执行;Java 虚拟机调用该线程的 run 方法。线程调用该方法将启动线程,使之从新建状态进入就绪队列排队,一旦轮到它来享用CPU资源时,就可以脱离创建它的线程独立开始自己的生命周期了。
    • run():Thread 类的 run()方法与 Runnable 接口中的 run()方法的功能和作用相同,都用来定义线程对象被调度之后所执行的操作,都是系统自动调用而用户程序不得引用的方法。系统的Thread类中,run()方法没有具体内容,所以用户程序需要创建自己的 Thread类的子类,并重写 run()方法来覆盖原来的run()方法。当 run 方法执行完毕,线程就变成死亡状态,所谓死亡状态就是线程释放了实体,即释放分配给线程对象的内存。在线程没有结束 run()方法之前,不赞成让线程再调用 start()方法,否则将发生异常。
    • sleep (int millsecond):线程的调度执行是按照其优先级的高低顺序进行的,当高级别的线程未死亡时,低级别线程没有机会获得 CPU 资源。有时,优先级高的线程需要优先级低的线程做一些工作来配合它,或者优先级高的线程需要完成一些费时的操作,此时优先级高的线程应该让出 CPU 资源,使优先级低的线程有机会执行。为达到这个目的,优先级高的线程可以在它的 run()方法中调用 sleep 方法来使自己放弃 CPU 资源,休眠一段时间。休眠时间的长短由 sleep 方法的参数决定,millsecond 是以毫秒为单位的休眠时间。如果线程在休眠时被打断,JVM 就抛出InterruptedException 异常。因此,必须在 try-catch 语句块中调用 sleep 方法。
    • isAlive()线程处于新建状态时,线程调用 isAlive()方法返回 false。当一个线程调用 start()方法,并占有 CPU 资源后,该线程的 run()方法就开始运行,在线程的 run()方法结束之前,即没有进入死亡状态之前,线程调用 isAlive()方法返回 true。当线程进入死亡状态后(实体内存被释放),线程仍可以调用方法 isAlive(),这时返回的值是 false。
    • currentThread() 返回对当前正在执行的线程对象的引用。例如 Thread.currentThread().getName(); 来获取当前进行从名字。

    10、Java异常的基本概念,如何正确捕获异常。

    (没找到,太乱)

    异常就是程序运行时可能出现的一些错误,Java 使用 throw 关键字抛出一个 Exception 子类的实例表示异常发生。

    展开全文
  • Java 期末 复习Java 期末 复习Java 期末 复习Java 期末 复习Java 期末 复习Java 期末 复习

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,688
精华内容 1,875
关键字:

java期末复习

java 订阅