接口语法:

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

接口注意事项:

1.接口不能被实例化

2.接口中所有的方法都不能有主体 (不能有{ })

3.一个类可以实现多个接口

4.接口中可以有变量<但变量不能用PRivate和protected修饰>

附加:

接口中的变量,本质上都是static的,而且是final,不管加不加static修饰

在java开发中,常把经常用的变量定义在接口中,作为全局变量使用。

<访问形式:接口名.变量名>

5.一个接口不能继承其他的类,但是可以继承别的接口

抽象类中可以有实现了的方法

接口中的方法一个都不能被实现

接口中定义变量有特殊要求

接口语法: class 类名 implement 接口 {

方法;

变量;

}

小结:

接口是更加抽象的抽象的类

抽象类里的方法可以有方法体

接口里的所有方法都没有方法体

接口体现了程序设计的多态和高内聚低耦合的设计思想

packagecom.test4;publicclassTest{publicstaticvoidmain(String[] args){

}

}interfaceFish

{publicvoidswimming();

}interfaceBird

{publicvoidfly();

}classMonkey

{intname;publicvoidjump()

{

System.out.println("ABC");

}

}classLittleMonkeyextendsMonkey implement Fish,Bird

{publicvoidswimming(){

}publicvoidfly(){

}

}

java的继承是单继承(一个类最多只能有一个父类)

final-概念final可以修饰变量或方

使用final可以避免被子类修改:

classAaa

{//给方法用final修饰,表示不可以被修改,不可被覆盖finalpublicvoidsendMes()

{

System.out.println("发送消息");

}

}

final使用:

1.当不希望父类的某个方法被子类覆盖(override)时,使用final关键字修饰

2.当不希望类的某个变量的值被修改,可以用final修饰 <final public void xxx()>

如果一个变量是final,则必须赋初值,否则编译不了

3.当不希望类被继承时,可用final修饰 <final class xxx>

数组

一维数组

数组的必要性:

packagecom.test1;publicclassDemo5_1{publicstaticvoidmain(String[] args){//定义六个变量//定义一个可以存放六个float类型的数组floatarr[]=newfloat[6];//使用for循环赋值//给数组的各个元素赋值arr[0]=3;

arr[1]=5;

arr[2]=3.4f;

arr[3]=2;

arr[4]=50;//算总体重[遍历数组]floatall=0;for(inti=0;i<6;i++)

{

all+=arr[i];

}

System.out.println("总体重是:"+all);

}

}

对象数组的使用:

packagecom.test1;importjava.io.*;publicclassDemo5_2{publicstaticvoidmain(String[] args){//定义一个可以存放四只狗的对象数组Dog dog[]=newDog[4];//给各个狗赋初值//从控制台输入每个狗的信息[alt+j]快捷键InputStreamReader isr=newInputStreamReader(System.in);

BufferedReader br=newBufferedReader(isr);for(inti=0;i<4;i++)

{

dog[i]=newDog();

System.out.println("请输入狗名");//从控制台读取狗名String name=

br.readLine();//将名字赋给对象dogs[i].setName(name);

System.out.println("");

String s_weight=

br.readLine();floatweight=Float.parseFloat(s_weight);//将名字赋给对象dog[i].setWeight(weight);

}//计算平均体重//计算总体重for(inti=0;i<4;i++)

{

allWeight+=dogs[i].getWeight();

}//计算平均体重floatavgWeight/dogs.length;

System.out.println("总体重="+allWeight+"平均="+avgWeight)

}

}//定义一个狗类classDog

{privateString name;privatefloatweight;publicString getName(){returnname;

}publicvoidsetName(String name){this.name=name;

}publicfloatgetWeight(){returnweight;

}publicvoidsetWeight(floatweight){this.age=weight;

}

}

排序分类:

1、内部排序:

(交换式排序法、选择式排序法、插入式排序法)

2、外部排序法:

(合并排序法、直接合并排序法)

交换式排序法:冒泡排序法、快速排序法

冒泡排序:

packagecom.test1;publicclassDemo5_3{publicstaticvoidmain(String[] args){intarr[]={1,6,0,-1,9};//排序//外层循环,它决定一共走几趟for(inti=0;i<arr.length-1;i++)

{//内层循环,逐个比较,若前大于后则交换for(intj=0;j<arr.length-1-i;j++)

{if(arr[j]>arr[j+1])

{//换位temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}//输出最后结果for(inti=0;i<arr.length;i++)

{

System.out.print(arr[i]+"");

}

排序方法封装到类中:classBubble{//排序方法publicvoidsort(intarr[])

{inttemp=0;for(inti=0;i<arr.length-1;i++)

{for(arr[j]>arr[j+1])

{

temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}

调用:Bubble bubble=new Bubble();

bubble.sort(arr);

选择排序法:

classSelect

{//选择排序publicvoidsort(intarr[])

{//默认第一个数最小for(intj=0;j<arr.length-1;j++)

{intmin=arr[j];//记录最小数下标intminIndxe=j;for(intk=j+1;k<arr.length;k++)

{if(min>arr[k])

{//修改最小min=arr[k];

minIndxe=k;

}

}

}

插入式排序

将n个待排序的元素看成一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中有n-1个元素

classInsertSort

{//插入排序方法publicvoidsort(intarr[])

{for(inti=1;i<arr.length;i++)

{intinsertVal=arr[i];//insertVal准备和前一个数比较intindex=i-1;while(index>=0&&insertVal<arr[index])//将arr[index]向后移动arr[index+1]=arr[index];//让index向前移动index--;

}//将insertVal插入到适当位置arr[index+1]=insertVal;

}

}

多维数组

定义:

类型 数组名[][]=new 类型[大小][大小]

packagecom.test1;publicclassDemo5_5{publicstaticvoidmain(String[] args)inta[][]=newint[4][6];

a[1][2]=1;

a[2][1]=2;

a[2][3]=3;//将图形输出for(inti=0;i<4;i++)

{for(intj=0;j<6;j++)

{

System.out.print(a[j]+"");

}//换行System.out.println();

}

}

二进制(原码、反码、补码):

1、二进制的最高位是符号位:0表示正数,1表示负数

2、正数的原码、反码、补码都一样

3、负数的反码=符号位不变,其他位取反

4、负数的补码=他的反码+1

5、0的反码、补码都是0

6、java没有无符号数

7、在计算机运算时候,都是以补码的方式来运算的

算数右移:地位溢出,符号位不变,并用符号位补溢出的高位

算数左移:符号位不变,低位补0

集合:

java集合类主要有以下几种:

1、List结构的集合类

ArrayList类,LinkedList类,Vector类,Stack类

2、Map结构的集合类

HashMap类,Hashtable类

3、Set结构的集合类

HashSet类,TreeSet类

4、Queue结构的集合

Queue接口

java集合的用法:

packagecom.test1;importjava.util.*;publicclassDemo7{publicstaticvoidmain(String[] args){//定义ArrayList对象ArrayList a1=newArrayList();//显示大小System.out.println("al大小:"al.size());

}

}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航