import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
@SuppressWarnings("serial")
public class lab extends JFrame{
static Button [] b=new Button[5];
static JFrame f=new JFrame("lab");
static JPanel [] p=new JPanel[5];
static JPanel s=new JPanel();
static JPanel t=new JPanel();
static CardLayout cl= new CardLayout();
static class ActionHandler implements ActionListener
{
int w;
public ActionHandler(int i) {
w=i;
}
public void actionPerformed(ActionEvent e) {
cl.show(t, String.valueOf(w));
}
}
public static void main(String[] args)
{
s.setLayout(new GridLayout(1,5));
for(int i=0;i<5;i++ ......
一、final
根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。
final类不能被继承,没有子类,final类中的方法默认是final的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。
注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。
1、final类
final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会载被扩展,那么就设计为final类。
2、final方法
如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法 ......
最近看到一个网友关于==和equals 做的总结,分享一下
java中equals方法和“==”的区别:
equals 方法是 java.lang.Object 类的方法。
有两种用法说明:
(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。
“==”比较两个变量本身的值,即两个对象在内存中的首地址。
“equals()”比较字符串中所包含的内容是否相同。
比如:
String s1,s2,s3 = "abc", s4 ="abc" ;
s1 = new String("abc");
s2 = new String("abc");
那么:
s1==s2 是 false //两个变量的内存地址不一样,也就是说它们指向的对象不 一样,
故不相等。
s1.equals(s2) 是 true //两个变量的所包含的内容是abc,故相等。
注意(1):
如果: StringBuffer s1 = new StringBuffer("a");
StringBuffer s2 = new StringBuffer("a");
结果: s1.equals(s2) //是false
解释:StringBuffer类中没有重新定义equals这个方法,因此这个方法就来自Object类,
而Object类中的equals方法是用来比较“地址”的,所以等于false.
注意(2):
对于s3和s4来说,有一点不一样要引起注意,由于s3和s4是两个 ......
服务端的webservices的发布是基于jax-ws规范发布的。下面是客户端动态调用的代码,调用的web服务是可配置的。
1:在xml文档里配置webservices的wsdl地址,端口名和操作名
2:提供一个方法读取xml文档,返回一个List
List list= ReadAndWriteXML.getWebServiceWsdlList();
if(list!=null){
String responseContent ="";
for(int i=0;i<list.size();i++){
Address address = (Address)list.get(i);
try {
// Define the service.
QName svcQname = new QName(
&nbs ......
类型转换总结:
1.原型数据byte,short,int,long,float,double,char,boolean,小类型数据可以直接赋给大类型数据例如
int a=1;byte b=2;short c=3;float d=3;double e=4;char f='a';boolean g=true;long l=10;
c=b;
a=f;
d=a;
e=d;
byte型数据不能直接赋给char型数据,因为byte表示的是8位有符号数,而char表示的是16位无符号数。同理short型数据(16位有符号数)与char型数据也不能直接通过赋值转换。
boolean不能与其他任何原型数据转换。
2.大类型数据可以强制转换成小类型数据。
如b=(byte)a;c=(short)a;a=(int)l;b=(byte)f;
3.原型数据的数组没有大小之分,不可相互转换,例如
byte[] ba;
short[]sa;
ba=sa或sa=ba;都是错的,强制转换也不行。
4.对象类型数据的转换
Object类型变量可以直接引用任何类型的对象,具有继承关系的类之间,父类型(大类类型)变量可以直接引用子类型(小类类型)对象,在父类类型的引用变量引用的是子类类型对象或者子子类类型对象时,该引用变量才可以强制转换成对应的子类类型引用。一句话要看该引用变量所引用的具体对象的类型能不能强制转换成目的类型。举例说明如下
正确的转换:
Object oa=new Integer(5);
Integ ......
有600个苹果,10个盒子,要求把600个苹果分装到10个盒子里。如果有人来买苹果随便说出一个数,直接拿这些盒子组装一下就可以给他不用拆分盒子。请问这10个盒子应该分别装多少苹果?
代码如下
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int box[] = new int[10];
int count = 600;
int apple = 1;
for(int i=0;i<box.length-1;i++){
box[i] = apple;
apple = apple*2;
}
box[box.length-1] = count - apple + 1;
System.out.println("请输入您需要的数字:");
Scanner sc = new Scanner(System.in);
int math = sc.nextInt();
String arr="";
if(math<2<<8){
arr = Integer.toBinaryString(math);
}else{
arr = 1+Integer.toBinaryString(math-89);
}
char[] chr = arr.toCharArray();
for(int i= ......