Java中的接口(interface)
1、 什么是Java接口(interface)?
Java接口是一些方法特征的集合,没有方法的实现。Java接口中定义的方法在不同的地方被实现(implements),可以具有完全不同的行为(功能)。
注意:
(1)、java接口不能被实例化。
(2)、Java接口中声明的成员自动设置为public,因此java接口中不能声明私有的成员。
(3)、Java接口中不能出现方法体实现。
(4)、实现(implements)某个java接口,就必须实现其中定义的所有方法。
2、为什么需要使用java接口?使用接口的好处?
接口是用来规范类的,可以降低代码之间的耦合度。
java是一种单向继承的语言,接口是为了实现一种类似于多继承的功能,可以说是多继承的另一种形式。
总的来说就是为了提高程序的复用性、可扩展性和可维护性。
存在共同的方法特征时使用。实现类有不同的实现方式。
2、 什么时候使用接口,什么时候使用继承?什么时候抽象出java接口?
两者都可以带来多态性的好处。一般情况下,当两个类之间符合is-a(子类是父类)的关系,并且子类可以复用部分父类代码的时候,使用继承关系实现。其他情况优先选择使用java接口。
一种情况是用在层和层之间的调用。另一种是用在那些不稳定的部分上。
3、 什么是面向接口编程?面向接口编程的原则?
开发系统时,主体构架使用接口,接口构成系统的骨架。这样就可以通过更换实现接口的类来更换系统的实现。
在运行时,java虚拟机会根据实际创建的对象类型调用不同的方法实现。
可以通过更换实现接口的类来更换系统的实现。
4、 面向接口编程实现大致步骤。
(1)、抽象出java接口。将多个类存在的共同的方法特征,抽象出一个java接口,定义共同的方法。
(2)、实现java接口。各个类有不同的实现,实现java接口中定义的方法。
(3)、使用java接口。让接口构成系统的骨架。定义方法,用接口作为参数,调用时实例化不同的对象。
5、什么是常量?
常量在程序运行时是不会改变的。或者常量是一种标识符,它的值在运行期间恒定不变。
常量标识符在程序中只能被引用,不能被重新赋值。
6、 为什么需要使用常量。
为了防止变量在运行期间被任意修改。
7、java中常量的定义规则。
(1)、在变量声明中加入final关键字代表常量,加入static关键字代表类
相关文档:
时间动态显示
1.方法一 用TimerTask
利用java.util.Timer和java.util.TimerTask来做动态更新,毕竟每次更新可以看作是计时1秒发生一次。
代码如下:
import java.awt.Dimension;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util ......
对于学习static我们先来看两个例子:
//Example 1 Tst.java,no main() method
package com.blogchina.qb2049;
public class Tst
{
static { System.out.println("111111"); }
}
运行结果为: 111111
Exception in thread "main" java.lang.NoSuchMethodError: main
同样的道理看第二 ......
1.计算某一月份的最大天数
Calendar time=Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR,year);
time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0
int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数 ......
1 网络通信的本质是进程间通信。
2 Tcp协议和UDP协议
TCP:开销大,用于可靠性要求高的场合。
TCP的过程相当于打电话的过程
UDP:用在对实时性要求比较高的场合。
UDP的过程相当于写信的过程。
注意:socket是套接字,ip和port(端口号 0~65535个端口,一个端口只能有一个进程)
3,   ......
package org.bupt.test;
import java.util.ArrayList;
class MyResource {
ArrayList<Integer> arrList= new ArrayList<Integer>();
public MyResource(ArrayList<Integer> arrList) {
this.arrList = arrList;
&nbs ......