9.Java中的类有三种,第一种是普通类(class)
public class A {
方法;
}
这个类中的方法必须要有方法体——就是每个方法后面都要有大括号;
第二种是接口类(interface)
public interface B{
public 共同属性;
public 返回值类型 方法名;
}
这个类中的方法要靠别的类来实现,例如类A实现接口B 代码如下:
public class A implements B{
public 返回值类型 B中方法名{
方法;
}
}
类A必须实现B接口中所有的抽象方法;
第三种是介于普通类和抽象类之间的抽象类(abstract),可以由抽象方法,也可以有具体方法
public abstract class C{
public abstract 返回值类型 方法名(); //抽象方法
public 返回值类型 方法名(){ //具体方法
方法;
}
}
10.前面说的继承,子类继承父类的所有方法,但是现实中有这样的情况:大学生是学生子类,都有学习这个方法,但是大学生的学习方法和学生的学习方法又是不一样的,这个时候就要用方法的重写来重写这个方法:
重写的要求是:子类的方法名和传入参数必须与父类相同。
方法的重载和前面说的构造器的重载是类似的,要求方法名相同,传入参数必须不同。
11. 自动转型与强制转型
1).一个对象可以自动由父类转型为子类:
public class Student{} //学生类
public class UNStudent extends Students{} //大学生类
//新建学生类:
Student stu = new UNStudent();
这句话的意思就是:学生甲是个大学生;
2).强制转型
(这一块儿不太懂……请多指教)
12.多态:
我觉得多态就是根据传入参数的不同,实现不同方法(和前面的构造器重载差不多)
13.常用界面开发组件:
常用的界面开发组件在java.awt和javax.swing这两个包里面,通过查阅JDK文档可以知道每个函数都是干什么的
14.事件监听机制的理解
程序如何获得我们点击鼠标或者敲击键盘这样的操作呢?这就需要监听器。监听器的运行机制:
1) 找到监听的事件源对象
2)根据需要监听的事件实现对应的监听器接口
3) 创建监听器对象
4)将监听器对象绑定在事件源对象上
15.常用的监听器有Actionlinster(事件监听器)、MouseListener(鼠标监听器)、MouseMotionListener(鼠标移动监听器)、MouseWheelListener(鼠标上的滚轮监听器)、KeyListener(键盘监听器)
16.Java中数组的创建方法:
//格式1
int t[] = new int[10];//创建长度为10的一维数组
//格式2
int t[] = {1,2,3,4,5,6};//创建给定元素的数组
//创建二维数组
//格式1
int a[][] = new int[10][8];//创建10X8的二维数组
//格式2
int []a[] = new int[10][8];
数组的特点:数据连续,有下标,长度固定。
17.长度可变的数组——队列
有的时候我们不知道一共有多少元素,这就需要一个长度可变的数据结构,这就是队列,实现代码如下:
/**
* 队列的实现
* @author LZL
*
*/
public class Liedui<E> implements FangfaJikou<E>{
/**
* 定义一个长度为0的原始数组
*/
private Object str[] =new Object [0];
/**
* 实现添加元素的方法
*/
public void add(E s) {
Object str1[]=new Object[str.length+1];
str1[str1.length-1]=s;
for(int i=0;i<str.length;i++){
str1[i]=str[i];
}
str=str1;
}
/**
* 指定位置删除元素的方法
*/
public void del(int index) {
Object str1[]=new Object[str.length-1];
for(int i=0;i<index;i++){
str1[i]=str[i];
}
for(int i=index;i<str1.length;i++){
str1[i]=str[i+1];
}
str=str1;
}
/**
* 根据下标提取元素
*/
public E get(int index) {
E u =(E) str[index];
return u;
}
/**
* 显示队列长度
*/
public int size(){
return str.length;
}
/**
* 指定位置修改
*/
public void Edit(String s,int index){
str[index]=s;
}
/**
* 指定位置插入
*/
public void ins(E s,int index){
Object str1[]=new Object[str.length+1];
for(int i=0;i<index;i++){
str1[i]=str[i];
}
for(int i=index+1;i<str1.length;i++){
str1[i]=str[i-1];
}
str1[index]=s;
str=str1;
}
}
基本原理就是当加入一个新元素时,新建一个比原数字长度+1的新数组,把新元素拷贝到新数组最后面,前面的照搬过来,再把新数组赋给老数组。
上述代码中的 Object [0] 的意思是:数组元素种类未知,传入什么元素就是什么种类。
分享到:
相关推荐
Adobe_RoboHelp_2019.0.6_x64_Multilingual.part2_Downloadly.ir.rar
jprofiler_windows_6_1_4.part2jprofiler_windows_6_1_4.part2jprofiler_windows_6_1_4.part2jprofiler_windows_6_1_4.part2jprofiler_windows_6_1_4.part2jprofiler_windows_6_1_4.part2jprofiler_windows_6_1_4....
SAP_PowerDesigner_16.6.6.5721_SP06_x64.part2_Downloadly.ir.rar
JAVA JDK_API_1_6_zh_CN.CHM JDK中文版 API JDK_API_1_6_zh_CN.part1
MM TAMM40_EN_46B_FV_Part2_250702.kepMM TAMM40_EN_46B_FV_Part2_250702.kepMM TAMM40_EN_46B_FV_Part2_250702.kep
cef_binary_3.2623.1395.g3034273_windows32
ToadforDB2_Freeware_6.0.0.373.part1.rar,这是一个图形界面的DB2管理工具,需要同时下载ToadforDB2_Freeware_6.0.0.373.part2.rar才能解压
[Java参考文档].JDK_API_1_6_zh_CN.part2<br> 一共四个压缩包 这是第二个
爱读书_ 2.799_setup.part1.rar爱读书_ 2.799_setup.part1.rar爱读书_ 2.799_setup.part1.rar
Apple_Xcode_Mac_9.4.1_Build_9Q1019a_Stable_macOS.part6_Downloadly.ir.rar
单个发不上来,只好分卷。 WINCE6.0_CHS_SDK.part1.rar WINCE6.0_CHS_SDK.part2.rar 请注意一共两个压缩包。
爱读书_ 2.799_setup.part1.rar爱读书_ 2.799_setup.part1.rar爱读书_ 2.799_setup.part1.rar
WindowsSubsystemForAndroid(WSA)安装程序,下载part1和part2并解压,以管理员身份打开powershell,输入“add-appxpackage WSA文件(.Msixbundle)路径” 等待安装完成,part2:...34160841/34257586
MyEclipse 10_part4_plugins.part2.rar
Keil.STM32F4xx_DFP.2.14.0.part2.rar keil ARM开发配套工具.
Keil.STM32F4xx_DFP.2.13.0.pack (part2),STM32F4官方最新固件库,由于单个文件大于220M,分为两部分上传,此为第二部分。
install_protege_4.1.part2.rarinstall_protege_4.1.part2.rarinstall_protege_4.1.part2.rarinstall_protege_4.1.part2.rarinstall_protege_4.1.part2.rarinstall_protege_4.1.part2.rarinstall_protege_4.1.part2....
全套三个文件 Delphi_v2.part1 Delphi_v2.part2 Delphi_v2.part3 本文件为:Delphi_v2.part1
Telerik.Web.UI_2013_2_611_Dev.part2