`
笑揽清溪月
  • 浏览: 14343 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

基础复习

阅读更多
1.Java程序的编写,翻译和运行过程
java程序可以用记事本来编写,但是要保存为后缀为.java的文件才能被编译,运行叫javac的文件可以将java文件进行编译。
2.JDK,JRE,JVM关系,区别



    JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。

    最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了属于自己的JDK,例如国外IBM公司开发了属于自己的JDK,国内淘宝也开发了属于自己的JDK,各个组织开发自己的JDK都是为了在某些方面得到一些提高,以适应自己的需求,比如IBM的JDK据说运行效率就比SUN的JDK高的多。

  JRE:Java  Runtime  Enviromental(java运行时环境)。也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。



    JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 的主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU 的指令集或 OS 的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。类文件的组成包括 JVM 指令集,符号表以及一些补助信息。

下图很好的表面了JDK,JRE,JVM三者间的关系:

http://dl.iteye.com/upload/attachment/364841/7dbc84af-e878-3718-beb5-6471ad99b995.gif

3.数据类型:
JAVA中数据类型总共有3种
基本类型(8种)
byte      8bit    -128~127
char     16bit   
short    16bit
int        32bit
long     64bit
float     32bit
double 64bit
boolean 8bit  true/false

引用类型(类类型):每一个类(接口,抽象类)都是一种数据类型

数组类型:基本类型或者引用类型的集合
int[][] t;   String[] str;
int t[][];
int[] t[];


2.面向过程,面向对象理解

面向过程就是在一件事中,只关心一件事情是如何发生的,
面向对象就是在一件事中,只关心是谁让这一件事情发生了。
就好比在一句话中面向过程就是句子中的谓语,面向对象就是主语或者宾语。


3.类与对象的关系分析
 
什么是对象?

简单的说,对象是现实世界中具体存在的事物或者实体,对象在面向对象编程中是核心,为程序提供实用的基础,为完成特定的任务而存在。

而通俗来说,类就是一组具有相同特征与行为的对象的集合。类是这组对象的模板,定义了这组对象的属性和方法。也可以说类就是把现实生活中具有相同特征和行为的一个群体抽象出来的概念。而对象则是实际存在的。对象通过调用类中的方法来改变自身的属性值。




4.如何定义一个类,如何创建对象,如何调用属性和方法
public class A{
public A(){
}
private int m;
public void n(){

}
}

A a = new A();

a.m=10;
a.n();

5.构造方法与一般方法的区别
  
   构造器严格的说不算是”方法“,只是因为它也可以传入参数,构造器方法没有任何返回值的定义,
   且必须与类名字相同。构造器方法只有在创建对象的时候调用——对于一个对象而言,他的构造器只能
   调用一次。构造器也可以重载,就像方法一样,定义可以传入不同方法的构造器,这也是构造器方法
   的主要用途:在创建对象时,初始化某些属性值。
     要注意的是,每个类都会有一个默认的无参构造器,但如果重新写了一个有参数的构造器,则默认的
     无参构造器不能够调用,除非在类定义中显示声明。
  



6.方法的重载与重写
  在一个类中,可以定义多个同名,但参数类型和数量方法不同的方法,叫做方法的重载。
    例如:在Student类中,可以定义方法,代码如下。
   
    public void study (int hour,String k){
    km=k;
    scro+=hour/3;
    if(scro>5){
           toSleep(hour/3);   
   
       } 
    }
    public void study(int hour){
  System.out.println("不知道在学什么");
       }
      
       public void study(){
      
       System.out.println("什么都不学");
       }
         }


而方法的重写是指子类在继承了父类以后,重新定义父类中的方法,即重写父类方法体的内容



7.类的继承,接口的实现,抽象类的继承
继承的概念
在编写一个类的时候,所有的学生(无论大小中)都可以是一种类型的,即定义为一个简单的Student类
代码:
//所有一般类学生的定义
public class Student {

public String name;


public void setName(String name){
this.name = name;
}

public void study(){
System.out.println(name+"在学习");
}
}
但这个系统给某个大学使用时,就会出现问题——我们需要再定义一个大学生类,可以肯定的是,大学生中也有学习的方法,学分,名字属性,但具体的学习方法却是和一般学生是不一样的,所以我们就没必要再定义一个大学生类把这些代码再敲一遍,那么我们就可以定义一个学生类,让它继承Student类,因为不管什么学生都有study()这样一个方法。
     代码示例:
         public class UNStudent extends Student{

               }
    OK,通过extends 关键字,我们就免去了重写代码的麻烦,在UNStudent中就自动继承到了它的父类中的方法和属性。
     代码示例:public class Test {



public static void main(String[] args){
UNStudent stu1 = new UNStudent();
  stu1.setName("我是大学生");
  stu1.study();
}
代码执行结果: 我是大学生在学习


   类,接口,抽象类的特点,区别

普通类中只有普通方法,
接口中全部都是抽象方法,
而抽象类中可以有抽象方法,也可以有普通方法。

继承规则:

a、一个类(抽象类)只能继承一个父类(单根继承)
public class A{}
public class B extends A{}

b、一个接口可以继承多个接口
public interface C{}
public interface D{}
public interface E extends C,D{}

c、一个类可以实现多个接口
public class F implements C,D{}

d.一个类可以在继承一个类之后在实现多个接口
public class G extends A implements C,D{}

G g1 = new G();
A g2 = new G();
C g3= new G();


如何定义接口,接口的特点,如何实现接口?
接口的定义格式是public interface 接口名

      我们知道,定义一个类无非是两个用途:生成对象调用其方法,
      或者用作给其他类来继承(作父类)

   在后一种用途上,根据类的继承规则,即使子类中不重写父类的方法,也会调用父类中的方法,
   但在特定的用途上,我们要求子类必须重写父类的方法,这就需要定义接口,假设我们要编写
   一个绘图工具,这个程序就会存在一个形状的概念——这一类对象就知道如何绘制出自己,我们
   就可以定义一个形状类的接口。
  
   作为一个接口,它的里面必须没有任何方法体的具体实现,所以不能直接使用接口创建
   对象。方法前无论是否写了public限定符,接口中的方法都是public型的。
  
   接口中还可以定义属性,但接口中的属性是常量值,即不可再改变的。

代码示例:
    public interface NetJavaShape {
public final static String compName="蓝杰";
//接口中定义的方法X1,Y1和X2,Y2代表要绘制的两个坐标点各自的XY坐标
public void draw(int x1,int y1,int x2,int y2);


}




8.子类继承父类之后,在子类的构造方法中默认会调用父类无参数的构造方法

   如果父类没有无参数的构造方法,则必须要重写子类的构造方法,在子类的

构造方法中调用父类的某个构造方法。


9.swing界面的开发
a.组件的基本用法
首先声明一个组件对象,例如
javax.swing.JPanel L1= new javax.swing.JPanel();
让后让容器组件 将它add上去。
容器组件:容器中有重量级容器(例如JFrame)和轻量级容器(如JPanel),容器组件上面可以加上其他的组件,特例是重量级容器上面不可以加上重量级容器。
元素组件:
b.组件的继承体系
所有的类都继承自一个最大的类Object,所有的组件都继承自Component


10.事件的监听机制
ActionListener              ActionEvent
MouseListener             MouseEvent
MouseMotionListener     MouseEvent
事件的监听器是指某一个监听器类实现ActionListener,MouseListener,MouseMotionListener等接口,就可以在某一个动作发生时,将信息传到相应的监听器类中,执行监听器类中的各种方法,达到“触发”的作用。
代码示例:

public class DrawListener implements java.awt.event.MouseListener {

private int x1, y1, x2, y2;
private java.awt.Graphics g;


//在创建监听器对象的时候传入画布对象
public DrawListener(java.awt.Graphics g) {
this.g = g;
}
//监听器被触发时要执行的方法
public void mousePressed(MouseEvent e) {
// 得到鼠标按下时候光标的坐标
x1 = e.getX();
y1 = e.getY();

}

public void mouseReleased(MouseEvent e) {
// 得到鼠标释放时候光标的坐标
x2 = e.getX();
y2 = e.getY();

// 画直线
g.drawLine(x1, y1, x2, y2);

g.drawRect(x1, y1, x2-x1,y2-y1);

}
//实现MouseListener中的其他抽象方法
public void mouseEntered(MouseEvent e) {
// System.out.println("mouseEntered");
}

public void mouseExited(MouseEvent e) {
// System.out.println("mouseExited");
}

public void mouseClicked(MouseEvent e) {
// System.out.println("mouseClicked");
}
}
然后可以在主类中创建一个监听器对象,然后让窗体对象或其他组件加上这个监听器,这样就给组件加上了监听机制。

//创建监听器对象
DrawListener dlis = new DrawListener(g);
//给窗体加上鼠标监听器
this.addMouseListener(dlis);



11.布局管理器
  
FlowLayout  流式布局
BorderLayout  边框布局
GridLayout   网格布局

Java的G界面定义是由awt类包和Swing类包来完成的,对于布局的管理交给专门的布局管理器类(LayoutManager)来完成。
Java中的布局管理器类有:FlowLayout、BorderLayout、GridLayout、GridBagLayout等,
下面是他们的一些特点:
CardLayout 将组件象卡片一样放置在容器中,在某一时刻只有一个组件可见
FlowLayout 将组件按从左到右而后从上到下的顺序依次排列,一行不能放完则折到下一行继续放置
GridLayout 形似一个无框线的表格,每个单元格中放一个组件
BorderLayout 将组件按东、南、西、北、中五个区域放置,每个方向最多只能放置一个组件
GridBagLayout 非常灵活,可指定组件放置的具体位置及占用单元格数目
BoxLayout 就像整齐放置的一行或者一列盒子,每个盒子中一个组件
SpringLayout 根据一组约束条件放置子组件 \
   
    实际操作过程中,可根据自己的需要来设置不同的布局管理器来满足各种要求和布局。


下面是代码示例:
   在主类中(窗体类),假设设置窗体的布局为边框布局,则先创建一个BorderLayout的对象,再加上去即可
java.awt.BorderLayout f1 = new java.awt.BorderLayout();
this.setLayout(f1);
假设要加上一个网格布局:

    也可以直接用对象去调用  setLayout的方法:
例如:
     center .setLayout(new GridLayout(4,5,2,2));



分享到:
评论

相关推荐

    计算机网络基础复习课

    计算机网络基础复习课视频,仅供2012冬靠参考

    计算机应用基础复习资料

    计算机应用基础复习资料,考研和学习用,包括一些知识点和习题

    2024R语言基础入门教程R语言R语言基础复习框架

    2024R语言基础入门教程R语言R语言基础复习框架2024R语言基础入门教程R语言R语言基础复习框架2024R语言基础入门教程R语言R语言基础复习框架2024R语言基础入门教程R语言R语言基础复习框架2024R语言基础入门教程R语言R...

    机械设计基础复习资料

    【标题】"机械设计基础复习资料"所涵盖的知识点主要涉及机械工程领域的基础知识,是学习和备考机械设计相关课程的重要参考资料。这份复习资料可能包括了机械设计的基本理论、原理、计算方法以及实例分析等内容,旨在...

    模拟电子技术基础复习资料

    这份"模拟电子技术基础复习资料"无疑为学习者提供了宝贵的期末复习资源。以下是这份复习资料可能涵盖的主要知识点: 1. **基本概念**:首先,了解电子技术的基本术语,如电压、电流、功率、电阻、电容、电感等。...

    2021专升本计算机基础复习资料汇总

    《2021专升本计算机基础复习资料汇总》是一份专门为2021年湖北专升本考生准备的学习资源,旨在帮助考生全面复习计算机基础知识,提升考试成绩。这份资料包含多个方面,从习题集到复习方法,从重点解析到题库练习,...

    软件基础复习题

    1. **计算机软件技术基础复习题(0810).doc** 这个文件很可能是2008年10月的一份软件技术基础的复习资料,它可能涵盖了软件工程的基本概念,包括软件生命周期、需求分析、系统设计、编码、测试和维护等阶段。复习...

    基础复习资料.zip

    【标题】"基础复习资料.zip" 提供的是一份针对初学者或需要巩固基础知识的IT学习资源。这个压缩包很可能是包含了一系列关于信息技术基础知识的文章、讲义或练习题,旨在帮助用户系统地回顾和理解核心概念。 【描述...

    c++基础复习-期末复习总结

    【C++基础复习-期末复习总结】 C++是一种强大的、面向对象的编程语言,它在计算机科学教育中占据着核心地位。本复习资料是根据大学课堂讲义整理而成,适用于期末复习,尤其对于大二学生来说,是巩固基础知识的好...

    指向深度学习的期末基础复习.pdf

    "深度学习在期末基础复习中的应用" 根据文件信息,深度学习在期末基础复习中的应用是指通过系统规划,抓住本质、把握联系、挖掘思想,实现指向深度学习的设计,以提高期末基础复习的效果。 首先,深度学习的重要...

    测绘学基础复习题集.doc

    "测绘学基础复习题集.doc" 测绘学基础复习题集是一份关于测绘学的基础知识复习题集,涵盖了测绘学的多个方面,包括测量工作、坐标系、经纬度、等高线、导线测量、控制网、高斯投影等。 在测量工作中,测绘学家需要...

    单片机基础复习题单片机基础复习题.doc

    单片机基础复习题单片机基础复习题

    计算机文化基础复习题

    首先,我们来看"whjc复习题2007.doc",这可能是一份2007年的计算机文化基础复习题目。这份文档可能包含选择题、填空题、判断题和简答题等多种题型,涉及了计算机系统的组成、操作系统功能、办公软件的使用、互联网...

    专升本计算机基础复习题.pdf

    "专升本计算机基础复习题.pdf" 这份pdf文件是专升本计算机基础复习题的练习册,涵盖了计算机基础知识的各个方面,包括Windows操作系统、WORD文字处理、Excel电子表格、磁盘管理、计算机系统等。 从判断正误题中,...

    java基础复习.xmind

    java基础复习.xmind

    计算机基础复习计划.pdf

    计算机基础复习计划是针对高一学生在计算机应用基础课程中的学习进行的一次系统性的复习安排。这个计划由计算机教研室的陈方旭和许笑春在2011年12月18日制定,旨在确保教学目标的达成。复习内容涵盖计算机基础知识、...

    统考计算机应用基础复习资料.rar

    【统考计算机应用基础复习资料】是一份针对计算机应用基础知识的综合学习资源,适用于准备参加统考的学生。这个RAR压缩包文件包含了多个学习材料,帮助考生全面理解和掌握计算机应用的基础概念、技能和知识体系。 ...

    全国计算机二级公共基础复习资料

    全国计算机二级公共基础复习资料是一套全面覆盖计算机二级考试中公共基础知识的综合学习材料,旨在帮助考生高效备考。这份资料包含两份复习讲义和一套练习题,具有很高的实用价值。 首先,我们来看两份复习讲义。第...

    2009-2010学年第一学期电子商务基础复习指..

    《2009-2010学年第一学期电子商务基础复习指南》是针对该学期电子商务课程的一个重要参考资料,旨在帮助学生系统复习并掌握电子商务的基础知识。这份文档可能包含了电子商务的定义、发展历史、基本原理、模式分析...

    银行从业资格考试公共基础复习资料

    超全的银行从业资格考试公共基础复习资料(1-23)

Global site tag (gtag.js) - Google Analytics