• 课程总结


    java第一学期 告一段落,有一说一,有点费头发.........

    废话不多说进入正题,java相比于C语言更加偏向于抽象,有关于所学我有必要唠嗑一下 啊哈哈哈

    一.关于java的数据类型及函数

    1.数据类型:

    1):基本数据类型:byte、short、int、long、float、double、char、boolean
    2):引用数据类型: 数组、类、接口
    级别从低到高为:byte,char,short(这三个平级)–>int–>float–>long–>double
    自动类型转换:从低级别到高级别,系统自动转的;
    强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;

    2.break与contimue的区别:

    break:作用于switch ,和循环语句,用于跳出,或者称为结束。
    break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。
    continue:只作用于循环结构,继续循环用的。
    作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。

    3.函数的作用:

    1)、用于定义功能。
      2)、用于封装代码提高代码的复用性。
      注意:函数中只能调用函数,不能定义函数。
    主函数:
       1)、保证该类的独立运行。
      2)、因为它是程序的入口。
      3)、因为它在被jvm调用。
    函数定义名称是为了对该功能进行标示,方便于调用;为了通过名称就可以明确函数的功能;为了增加代码的阅读性。

    二.关于java面向对象:

    1.在类中定义其实都称之为成员。成员有两种:

    1:成员变量:其实对应的就是事物的属性。
    2:成员函数:其实对应的就是事物的行为。
    所以,其实定义类,就是在定义成员变量和成员函数。但是在定义前,必须先要对事物进行属性和行为的分析,才可以用代码来体现。
    private int age;//私有的访问权限最低,只有在本类中的访问有效

    2.成员变量和局部变量的区别:

    1:成员变量直接定义在类中。
      局部变量定义在方法中,参数上,语句中。
    2:成员变量在这个类中有效。
     局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。
    3:成员变量存在于堆内存中,随着对象的产生而存在,消失而消失。
     局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。
    方法的覆写是指子类定义了与父类中同名的方法,但是在方法覆写时必须考虑到权限,即被子类覆写的方法不能拥有父类方法更加严格的访问权限。

    3.使用super能调用父类的构造方法,普通方法和非私有属性。

    4.super和this都必须放在首行,故不能同时使用。

    5.使用final声明的类不能有子类2.使用final声明的方法不能被子类所覆写3.使用final声明的变量即为常量,不可修改4.使用final声明变量时,要求全部的字母大写

    6.向上转型:子类对象 →父类对象(自动转换)

    7.向下转型:父类对象 →子类对象(强制转换)注:首先要进行向上转型,然后在进行强制类型转换。

    8.封 装(面向对象特征之一):是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
    好处:将变化隔离;便于使用;提高重用性;安全性
    封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问。

    9.继 承 (面向对象特征之一)

    10.this和super差异:

    1.super()和this()类似,区别是,super()从子类中调用父类的构造方法,this()在同一类内调用其它方法。
    2.super()和this()均需放在构造方法内第一行。
    3.this和super不能同时出现在一个构造函数里面,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。
    4.this()和super()都指的是对象,所以,均不可以在static环境中使用。包括:static变量,static方法,static语句块。

    11.方法的重载与覆写:
    重载的定义:方法名称相同,参数的类型或者个数不同。覆写的定义:方法的名称、参数的类型、返回值类型全部相同
    对权限没有要求 被覆写的方法不能拥有更严格的权限。
    范围: 发生在一个类中 发生在继承类中。

    13..throw和throws关键字

    在定义一个方法的时候可以使用throws关键字声明,使用throws声明的方法表示此方法不处理异常,抛给方法的调用处处理。
    throw可以直接使用从而抛出一个异常。抛出时直接抛出异常类的实例化对象。

    14.抽象类: abstract

    抽象:不具体,看不明白。抽象类表象体现。
    在不断抽取过程中,将共性内容中的方法声明抽取,但是方法不一样,没有抽取,这时抽取到的方法,并不具体,需要被指定关键字abstract所标示,声明为抽象方法。
    抽象方法所在类一定要标示为抽象类,也就是说该类需要被abstract关键字所修饰。
    抽象类的特点:
    1:抽象方法只能定义在抽象类中,抽象类和抽象方法必须由abstract关键字修饰(可以描述类和方法,不可以描述变量)。
    2:抽象方法只定义方法声明,并不定义方法实现。
    3:抽象类不可以被创建对象(实例化)。
    4:只有通过子类继承抽象类并覆盖了抽象类中的所有抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类。
    抽象关键字abstract与final , private , static关键字不能共存

    三.java应用程序设计

    1,继承Thread类创建线程:属于Runnable接口的一个实例,代表一个线程实例。

    2,实现Runnable接口创建线程:
    如果自己的类已经extends另一个类,就无法直接extends Thread,此时,可以实现一个Runnable接口

    3,Thread类和Runnable接口的区别
    实际上Thread类和Runnable接口之间在使用上也是有所区别的,如果一个类继承Thread类,则不适合于多个线程共享资源,而实现了Runnable接口,则可以方便的实现资源的共享。

    4,通过synchronized实现资源同步

    5.JavaIO以及其操作流程

    以下是针对文件本身操作的
    createNewFile(); 创建新文件
    delete(); 删除一个指定文件
    mkdir(); 创建一个文件夹
    public String[]list(); 列出全部名称,返回一个字符串数组
    public File[]listFiles(); 列完整的路径,返回一个File对象数组
    isDirectory(); 判断一个给定的路径是否是目录
    RandomAccessFile类可以对文件内容进行操作
    不同操作系统的路径分隔符也是不同的,windows的是“”,Linux的是“/”。

    JavaIO的操作流程

    (1)使用Flle类打开一个文件。
    (2)通过字节流和字符流的子类指定输出的位置。
    (3)进行读和写的操作。
    (4)关闭输入和输出

    6.字节输入流,字节输出流

    常用的字节输出流主要有:
    OutputStream
    FileOutputStream
    BufferedOutputStream 【BufferedOutputStream不是OutputStream的直接实现子类,是FilterOutputStream的子类】流,字符输入流,字符输出流。

    常用的字节输入流主要有:
    InputStream 
    FileInputStream
    BufferedInputStream 【BufferedInputStream不是InputStream的直接实现子类,是FilterInputStream的子类】

    7.字符输入流,字符输出流。

    常见的字符输入流有:
    Reader
    InputStreamReader
    FileReader
    BufferedReader

    常见的字符输出流有:
    Writer
    OutputStreamWriter
    FileWriter
    BufferedWriter

    8.其他容器

    1、JPanel:使用JPanel完成各种复杂的界面显示,在其中可以加入任意的组件。
    JPanel:(在JPanel中可以加入任意的组件,然后直接将JPanel容器加入到JFrame容器中)
    JFrame frame = new JFrame("")
    JPanel pan = new JPanel();
    pan.add(new JLabel(" "));
    frame.add(pan);

    2、JSplitPane :主要功能是分割面板,可以将一个窗体分为两个子窗体,可以水平排列也可以是垂直排列。
    JSplitPane(分割面板,将一个窗体分割为两个子窗体)
    public static final int HORIZONTAL_SPLIT //水平分割
    public static final int VERTICAL_SPLIT //垂直分割
    public JSplitPane(int newOrientation) //创建对象,并指明分割方式
    publci void setDividerSize(int newSize) //设置分割条大小

    3、JTabbedPane:在一个面板上设置多个选项卡用户选择。
    JTabbedPane(选项卡,一个面板设置多个选项卡)
    public void addTab(String titel,Icon icon,Component component,String tip) //添加一个有标题,有图标,有提示信息的组件
    static final int TOP/BOTTON/LEFT/RIGHT //表示指向框顶部/底部/左部/右部位置
    public JTabbedPane(int tabPlacement) // 创建对象,并指定选项卡布局

    4、JScrollPane:Swing中JScrollPane的主要功能就是为显示的内容加上水平滚动条。
    JScrollPane(添加滚动条)
    static final int HORIZONTAL/VERTICAL_SCROLLBAR_ALWAYS //始终显示水平/垂直滚动条
    static final int HORIZONTAL/VERTICAL_SCROLLBAR_NEVER //任何情况下都不显示水平/垂直滚动条
    static final int HORIZONTAL/VERTICAL_SCROLLBAR_AS_NEEDED //根据自身需要显示水平/垂直滚动条
    5、JDesktopPane与JInternaIFrame:JDesktopPane规定了一个父窗体的基本形式,而JInternaIFrame规定了各个子窗体,JInternaIFrame需要加入到JDesktopPane中。

    9、事件处理

    1.事件和监听器
    事件监听器机制是观察者模式的一种,通过把事件源和事件处理流程以监听器的方法隔离开来,减小了主流程与被触发事件的执行流程间的耦合,便于代码的维护和对事件处理流程的扩展。
    在事件监听机制中,涉及到三个角色:事件、发布者和监听器
    事件:在事件源和事件监听器之间传递信息的对象实体。
    发布者:在事件发生后,负责把事件发布到监听者的对象。
    监听者:监听事件,并进行事件处理或转发的对象。
    Java中提供了事件监听器实现的框架,使用Java中的事件监听器,需要熟悉以下几个类或接口:
    1. EventObject:事件的基类,在Java中自定义事件时需要继承的基类,其定义了事件源——Object类型的属性,可以把发生事件所在的类实例的引用传递过来,以便于在事件处理流程中使用(如果有使用要求的话)。在自定义的事件中,还可以定义自己应用所需的其他属性。
    2. EventListener:自定义事件监听器必须实现的接口,没有具体方法,只起到标识作用

    10.窗体事件(WindowListener)
    常用接口方法
    void windowActivated/windowDeactivated(WindowEvent e) //将窗口变为活动/不活动窗口时触发
    void windowClosed/Closing/Iconified(WindoowEvent e) //当窗口被关闭时/正在关闭/最小化时触发

    最后一章最有趣有关于程序设计的















  • 相关阅读:
    成长篇之代码灵异事件
    idea快捷键
    java环境配置常用链接
    MySQL分区
    English 动词篇
    仿stl+函数模板
    java 数组复制
    拓扑排序(Topological Sorting)
    2017蓝桥杯第十题(k倍区间)
    翻译NYOJ
  • 原文地址:https://www.cnblogs.com/gyyy/p/12037428.html
Copyright © 2020-2023  润新知