课程总结

Posted on 2019-12-13 22:30  hualikun  阅读(153)  评论(0)    收藏  举报

一个学期很快就过去了,到了最后的总结时间,整合了之前的博客,并对其进行了补充,为本学期画上一个句号。

 

2.基本数据类型

数据类型:数值型  long  int  short  byte  char  float  double  

                  字符型  char

                  布尔型  boolean

                   类  class

                   接口  interface           (没学,写上来充数也还行)

                    数组

数据类型的转换:

自动类型转换:由低类型向为高类型砸转换

强制类型转换:由高类型向低类型转换

 

2.注解

单行注解://
多行注解:/.../
文档注解:/**.../

 

3.运算符

运算符优先级,和作用参考书上 P41

三目运算符    ?: 例a>b?,a:b  正确返回a,错误返回b。

逻辑运算符    &&    短路与,两个操作书皆为真,运算结果才为真

                      ||   短路或,两个操作书只要一个为真,运算结果就为真

位逻辑运算符  &  AND,与

                        |  OR,或

 

4.类与对象的关系

类代表一个共性,对象代表一个个性,类是由属性和方法组成的

 

 

5.对象的创建和使用

    所有的对象名称都在栈内存中保存,而对象的具体内容保存在对应的堆内存,必须用new关键字才能开辟堆内存空间。

    栈内存放的是推内存的地址。

创建

        类名   对象名称 = null;        //声明对象

        对象名称 = new 类名();  //实际化对象

 

this的用法:

  1.强调本类中的方法

  2.表示类中的属性

  3.使用this调用本类的构造方法

  4.this表示当前对象

 

static关键词:

如果一个变量使用static,该变量便不属于对象自己,而是属于自己所在的类。

多个对象公用这一个变量。

(非static声明的方法可以去调用static声明的属性或方法的,但是static声明的方法不可以调用非static类型声明的属性或方法)
 
static
如果一个成员变量使用了static关键字,那么这个变量不再属于对象自己,而是属于所在的类。多个对象共享同一份数据。
一旦使用static修饰成员方法, 那么这就成为了静态方法。静态方法不属于对象,而属于类的。如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用它。如果有了static关键字,那么不需要创建对象,直接就能通过类名称来使用它。无论是成员变量,还是成员方法。如果有了static, 都推荐使用类名称进行调用。
 
继承:在Java类中只允许单一继承,即一个子类只可以继承一个父类,且子类将继承父类的非私有属性和方法,但父类与子类只能一对一,即一个父类下面只有一个子类,但是那个子类可以作为父类进行下一次的继承。

●在Java中使用extends关键字完成类的继承关系,操作格式:

class 父类{} // 定义父类
class 子类 extends 父类{} // 使用extends关键字实现继承

●在使用继承的时候也应注意的是:子类是不能直接访问父类中的私有成员的,但是子类可以调用父类中的非私有方法,但是不能直接调用父类中的私有成员。

super():

1.super()从子类中调用父类的构造方法,this()在同一类内调用其它方法。
2.super()和this()均需放在构造方法内第一行,因此与this不能同时出现。

2.final关键字
使用final声明的类不能有子类。
使用final声明的方法不能被子类所覆写。
使用final声明的变量即为常量,不可修改。
3.继承知识点:只允许多层继承不能够多重继承,即一个子类只可以继承一个父类。

4.子类是不可以直接访问父类的私有成员的,但是子类可以调用父类的非私有方法,但是不能够直接调用父类的私有成员。

 

抽象类:
1.是以abstract关键字声明的一个类
2.抽象类不可以被实例化。因为用抽象方法无意义。
3.抽象类必须由其子类覆盖了所有的抽象方法,该子类才可以被实例化,否则这个子类还是抽象类。
Object类:
一个类只要没有明显的继承一个类,则肯定是Object类的子类。
Object类提供的equals()方法默认是比较地址。
接口:
interface 接口名称{
全局常量 ;
抽象方法 ;
}
实现接口:与抽象类一样,接口要使用也必须通过子类,子类通过implements关键字实现接口。
实现格式:class 子类 implements 接口A,接口B,...{
}

 

异常类的继承结构:

1
2
3
在整个java的异常结构中,实际上有以下两个最常用的类:Exception、Error,这两个类全都是Throwable的子类。
1、Exception:一般表示的是程序中出现的问题,可以直接使用trycatch处理。
2、Error:一般指的是JVM错误,程序中无法处理。

  

Java的异常处理机制

在整个java的异常处理中,实际上也是按照面向对象的方式进行处理,处理的步骤如下:

1
2
3
(1)一旦产生异常,则首先会产生一个异常类的实例化对象;
(2)在try语句中对此异常对象进行捕捉;
(3)产生的异常对象与catch语句中的各个异常类型进行匹配,如果匹配成功,则执行catch语句中的代码。

  

throws关键字

1
2
3
在定义一个方法的时候可以使用throws关键字声明,使用throws声明的方法表示此方法不处理异常,而交给方法的调用处进行处理
throws使用格式
    public 返回值类型 方法名称(参数列表..)throws 异常类{}

throw关键字

1
2
与throws不同的是,可以直接使用throw抛出一个异常。抛出的时候直接抛出异常类的实例化对象即可。
throw不会单独使用
  

Exception类与RuntimeException类

1
2
3
这两个类的区别如下:
1、Exception在程序中是必须使用trycatch进行处理。
2、RuntimeException可以不使用trycatch进行处理,但是如果有异常产生,则异常将由JVM进行处理。

 

字节内存流:ByteArrayInputStream(内存字节输入流)、ByteArrayOutputStream(内存字节输出流)。

OutputStreamWriter类是Writer的子类将输出的字符流变为字节流,即将一个字符流的输出对象变为字节流的输出对象。如下

Writer w=new OutputStreamWriter(new FileOutputStream(f));

字符内存流:CharArrayReader(内存字符输入流)

Reader的子类将输入的字节流变为字符流,即将一个字节流的输入对象变为字符流的输入对象

Reader r=new InputStreamReader(new FileInputStream(f));

管道流

字节内存流:ByteArrayInputStream(内存字节输入流);ByteArrayOutputStream(内存字节输出流)

这个两个流必须同时使用。

Dimension类

 在JFrame中设置窗体的大小,也可以使用Dimension类完成。➢此类封装了组件的现实宽度和高度。

Point类

 组件的显示位置也可以使用Point类指定,此类封装的是显示位置的X、Y坐标。

Swing简介

AWT大量的引入了Windows函数, 称为重量级组件。
Swing使 用Java语言实现,是以AWT平台为基础构建起来的新组件,属于轻量级的图形界面组件,直接使用Swing可以更加轻松的构建用户界面。

布局管理器(LayoutManager)

使用布局管理器可以使容器中的组件按照指定的位置进行摆放。即使容器改变了大小,布局管理器也可以准确的把组件放到指定的位置,这样就可以有效 
的保证版面不会混乱。
在AWT中所有的布局管理器都是LayoutManager的子类。

组件

在图形界面中,用户经常会看到按钮、标签、菜单等组件。
组件会在一个窗体上显示。
在整个AWT包中,所有的组件类都是从Component和MenuComponet扩展而来的,这些类会继承这两个类的公共操作。

CardLayout

CardLayout就是将一组组彼此重叠的组件进行布局,就像一张张卡片一样,这样每次只会展现一个界面

绝对定位

如果不在窗体中指定布局管理器,也可以通过设置绝对坐标的方式完成布局设置。

public void setBounds(int x,int y,int width,int height)