[/color][color=darkblue]前几章基础学习小结
1.Java程序的编写,翻译和运行过程
编写生成java文件,翻译时生成class文件,即生成机器语言二进制代码,运行就是将结果输出在显示器中
2.JDK,JRE,JVM关系,区别
JDK是Java Development Kit的缩写
JRE是Java Run Environment的缩写
JVM是Java Virtrue Mechian的缩写
三者关系与区别:
我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。
3.数据类型:
基本类型(8种)
byte 8bit -128~127
char 16bit
short 16bit
int 32bit
long 64bit
float 32bit
double 64bit
boolean 8bit true/false
引用类型(类类型):每一个类(接口,抽象类)都是一种数据类型,如:private[]Student=new Student[0];
数组类型:基本类型或者引用类型的集合
int[][] t; String[] str;
int t[][];
int[] t[];
4.面向过程,面向对象理解
面向过程指的是关注的是完成事件的步骤,C语言面向对象,相当于谓语,结果唯一确定。
面向对象指的是关注的是完成事件的对象,不关注过程,Java面向对象,相当于主语和宾语,结果随着对象不同而不唯一。
5.类与对象的关系分析
类:抽象的,主观的
对象:具体的,客观的
public class A{
A a1=new A();
A a2=new A();
}
A就是一个抽象的我们的脑海里抽象出来的一群具有共同特征的个体的概念,而a1,a2是具体的对象
6.如何定义一个类,如何创建对象,如何调用属性和方法public class A{
public A(){
}//每一个类都有一个默认的构造方法
private int m;
public void n(){
}
}
A a = new A();//创建对象
a.m=10;//调用属性
a.n();//调用方法
7.构造方法与一般方法的区别
每一个类都有一个默认的构造方法,构造方法是在new对象的时候被调用的,是被系统自动调用的,而且一定会被调用,构造方法一般用来给对象的属性做初始化的,构造方法没有返回值。
普通方法必须有返回值,就算不返回也得写个void。
如:构造方法:public A(){
} 调用:A a=new A();
一般方法:public void B(){
} 调用:a.B();
8.方法的重载与重写
重写是子类的方法覆盖父类的方法,要求方法名和参数都相同,是在不同的类中重写,只是子类中的方法体与父类不同
如:父类:public class A{
public void C(){}
}
子类:public class B extends A{
public void C(){}
}
重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数的个数或类型却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数。如:
public class C{
public void D(int){}
public void D(String){}
public void D(int,String){}
}
9.类的继承,接口的实现,抽象类的继承 类,接口,抽象类的特点,区别[/color]
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,static的和final属性,
接口的方法只能是抽象的和公开的。
抽象类:抽象类abstract class 。和接口类似,但有区别:
1、在abstract class方式中,Demo可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface方式的实现中,Demo只能够有静态的不能被
修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。
2、abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。
3、abstarct class在Java语言中体现了一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在"is a"关系,
即父类和派生类在概念本质上应该是相同的。 对于interface 来说则不然,并不要求interface的实现者和interface定义在概念本质上是一致的,
仅仅是实现了interface定义的契约(功能)而已。
10.子类继承父类之后,在子类的构造方法中默认会调用父类无参数的构造方法
如果父类没有无参数的构造方法,则必须要重写子类的构造方法,如:
public class A{
public A{}//默认的无参构造方法
}
public class B extends A{
//如果父类中没有无参数的构造方法,则必须重写
public B{}
}
11.swing界面的开发 a.组件的基本用法
容器组件:重量级组件,如窗体
元素组件:轻量级组件,如按钮,输入框等
b.组件的继承体系
/**
* 画板窗体
*
* @author:zzj
*
*/
public class DrawUI extends JFrame{
//程序入口
public static void main(String[] args){
DrawUI du = new DrawUI();
du.showDrawUI();
}
/**
* 显示窗体的方法
*/
public void showDrawUI() {
this.setTitle("我的画板");
this.setSize(600, 500);
this.setDefaultCloseOperation(3);
java.awt.FlowLayout fl=new java.awt.FlowLayout();
this.setLayout(fl);
//添加更多窗体组件:如按钮,输入框,颜色等
this.setVision(true);
}
组件的继承体系,如:
javax.swing
类 JButton
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.AbstractButton
javax.swing.JButton
12.事件的监听机制:每个监听器对应着一个事件
ActionListener ActionEvent
MouseListener MouseEvent
MouseMotionListener MouseEvent
例如:
在主类中:
//创建监听器对象
DrawListener dlis= new DrawListener(g,group);
//给窗体/组件加上鼠标监听器/其他监听器
this.addMouseListener(dlis);
实现监听器的类:
import java.awt.event.MouseEvent;
/**
* 画板的监听器,实现鼠标监听器接口 监听器中的方法是通过事件触发自动调用的(监听器中的每一个方法都对应了一个事件)
*
* @author Administrator
*
*/
public class DrawListener implements java.awt.event.MouseListener {
private int x1, y1, x2, y2;
private java.awt.Graphics gr;
private javax.swing.ButtonGroup bgroup;
String type = "line";// 要绘制的形状
java.awt.Color color = java.awt.Color.green;
public DrawListener(java.awt.Graphics g, javax.swing.ButtonGroup bg) {
gr = g;
bgroup = bg;
}
public void mousePressed(MouseEvent e) {
// 绘制之前要知道被选中的形状按钮
// 得到按钮组中被选中的按钮的模型
javax.swing.ButtonModel bm = bgroup.getSelection();
// 得到被选中按钮模型的动作命令
type = bm.getActionCommand();
//设置要绘制的颜色
gr.setColor(color);
// 得带鼠标按下时候光标的位置
x1 = e.getX();
y1 = e.getY();
}
public void mouseReleased(MouseEvent e) {
// 得带鼠标释放时候光标的位置
x2 = e.getX();
y2 = e.getY();
if (type.equals("line")) {
// 画直线
gr.drawLine(x1, y1, x2, y2);
} else if (type.equals("oval")) {
gr.drawOval(x1, y1, x2-x1, y2-y1);
} else if (type.equals("rect")) {
gr.drawRect(x1, y1, x2-x1, y2-y1);
}else if(type.equals("RoundRect")){
gr.drawRoundRect(x1, y1,50,100,10,5);
}
}
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");
}
}
13.布局管理器
FlowLayout 流式布局
BorderLayout 边框布局
GridLayout 网格布局
CardLayout 卡片布局
流式布局写法:java.awt.FlowLayout fl=new java.awt.FlowLayout();
frame.setLayout(fl);
分享到:
相关推荐
VF基础知识总结章PPT学习教案.pptx
第二章 数值转换与计算1.十进制数; 2.二进制数; 3.十六进制数; 4.不同进制数之间的转换; 5.二进制数的算术运算规则; 6.逻辑运算; 7.数的表示方法;
DeepLearning 深度学习 经验总结合集-共18章。 第一章_数学基础 第二章_机器学习基础 第三章_深度学习基础 第四章_经典网络 第五章 卷积神经网络(CNN) 第六章_循环神经网络(RNN) 第七章_生成对抗网络 第八章_目标...
python语⾔程序设计基础第⼆版第⼆章答案-python语⾔程序 设计基础(嵩天)第⼆章课。。。 **第⼆学期第⼀周学习总结 ⼀. 本周学习内容总结 ⼀维数组,了解了⼀维数组的定义(定义⼀个数组,需要明确数组变量名,数组...
很好的c++学习总结(C++学习忠告、类的使用、类与内存分配。。。。。。)
第02章 基础知识-数学基础与语言学基础 共75页.ppt 第03章 汉语的分词与频度统计 共88页.pptx 第04章 汉语语料库的多级加工 共82页.pptx 第05章 n-gram语言模型 共78页.ppt 第06章 Markov模型 马尔科夫模型 共57页....
大家可以仔细研读这本书,这本书讲一些深度学习的相关知识进行了系统化的总结,从基础到进阶。 其中,数学基础是机器学习的基础,我们找工作时面对的都是业界大佬,基础扎不扎实,他们一问就知道,所以小伙伴们...
首先,说明一下,这是一个XMind文件,也就是一个导图文件,这是我通过课程学习根据老师的PPT进行的总结的非常详细的知识框架,比较详细,基本第一章重要的知识点都在这里面了。
1.8 小结 17 1.9 常见问题解答 17 1.10 小测验和习题 18 第2章 理解面向对象 20 2.1 无处不在的对象 20 2.2 一些面向对象的概念 22 2.3 意义 28 2.4 小结 29 2.5 常见问题解答 29 2.6 小测验和...
本人亲自总结的计算机视觉方向的资源,适合入门阅读。由最基础的cnn分类到目标检测和分割,包括推荐博客的链接,论文以及一些自己的小经验。适合新手入门阅读~大佬轻喷
第02章 基础知识-数学基础与语言学基础 共75页.ppt 第03章 汉语的分词与频度统计 共88页.pptx 第04章 汉语语料库的多级加工 共82页.pptx 第05章 n-gram语言模型 共78页.ppt 第06章 Markov模型 马尔科夫模型 共57页....
DeepLearning 深度学习 经验总结
适合基础学习,文章内容主要是一些理论,适合考试复习。 全文内容如下: 第一章 软件测试基础理论 第二章 软件测试方法 第三章 软件测试流程 第四章 软件测试环境搭建 第五章 软件测试用例设计 第六章 面向对象...
刚接触计算机专业以及刚准备买电脑的高中毕业生
概率论第一章总结,更有利于同学们的对大数据相关数学基础课程进行学习
小白学Python,小编自己总结的学习资料。很基础的知识点,希望能帮到你。
第一章 ★1、会计是以(货币)为主要计量单位,反映和监督一个单位(经济活动)的一种经济管理工作。不是唯一的计量单位,而是主要计量单位———填空、判断 2、会计是单位经济活动的一种管理工作。会计的本质是...
第02章 基础知识-数学基础与语言学基础 共75页.ppt 第03章 汉语的分词与频度统计 共88页.pptx 第04章 汉语语料库的多级加工 共82页.pptx 第05章 n-gram语言模型 共78页.ppt 第06章 Markov模型 马尔科夫模型 共57页....
编者根据多年的教学积累,对各章的知识要点进行归纳和总结,精心编写了近一百道例题和近四百道练习题,覆盖了本课程的全部教学内容。 本书不仅可供学生进行学习辅导,也可供教师教学参考。通过阅读本书,将有助于...
对每章节的知识点都进行了总结,方便查看 第二章 :寄存器 第三章: 寄存器(访问存储器) 第四章:第一个程序 第五章:[bx]和loop指令 第六章 :包含多个段的程序 第7章: 更灵活的定位内存地址的方法 第八章 :...