JAVA经验Word文档格式.docx
- 文档编号:19694437
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:19
- 大小:29.66KB
JAVA经验Word文档格式.docx
《JAVA经验Word文档格式.docx》由会员分享,可在线阅读,更多相关《JAVA经验Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
staticfinal变量的名字所有字母都大写,并且能表示完整含义。
例如:
PI,PASSWORD。
⏹参数的命名
参数的名字和变量的命名规范一致。
⏹数组的命名
数组应该总是用这样的方式来命名:
byte[]buffer。
3.注意书写格式
1.括号要对齐
2.括号里面语句要推后4格缩写
4.fireStateChanged
protectedvoidfireStateChanged()
将一个ChangeEvent(以此JTabbedPane作为源)发送到每个已注册的侦听器。
每次选定的索引或JTabbedPane中选定的制表符发生了更改时调用此方法。
通常,选定的索引和选定的制表符同时更改。
但是,在某些情况下(如选项卡增加),选定的索引发生了更改而选定的选项卡却保持不变。
还有一些情况下(如删除选定的选项卡),索引保持不变,但一个新的选项卡移动到该索引。
对于所有这些情况都将触发事件。
另请参见:
addChangeListener(javax.swing.event.ChangeListener),EventListenerList
addChangeListener
publicvoidaddChangeListener(ChangeListener
l)
将一个ChangeListener添加到此选项卡窗格中。
5.尽量不要使用全局变量,容易出现下标越界,多使用集函数,这样封装性会好一些
出错率大大降低。
6.引用字段的时候,一定是该字段所在类(类.字段),这样引用,例如:
select=chooser.showOpenDialog(this);
if(select==JFileChooser.APPROVE_OPTION)
注意接收返回值的变量要类型一致,不要轻易尝试强制转换,容易造成数据丢失。
7.就通过Globals.class.getResource("
/"
).getPath()获取Globals.class存放的路径
8.设置字体对话框和窗口大小不可变:
setResizable(false);
9.剪切板:
Clipboard
获得系统剪切板:
Clipboardclipboard=this.getToolkit().getSystemClipboard();
10.时间格式化和获得机器时间
Datedate=newDate();
//获得机器时间
//时间格式化SimpleDateFormat
SimpleDateFormatformat=newSimpleDateFormat("
yyyy-MM-dd"
);
System.out.println(format.format(date));
11.publicMenuItemadd(MenuItem
mi)
将指定的菜单项添加到此菜单。
如果该菜单项为另一个菜单的一部分,则从该菜单移除它。
参数:
mi-要添加的菜单项
返回:
已添加的菜单项
(该方法是popupMenu中的方法,将指点的菜单项加到弹出式菜单中,每次点击弹出菜单就相当于点击菜单中菜单项,如果是JpopupMenu中此方法效果一样,所以重新申请相应的JMuItem,这样就不会把菜单中相同部分删除,例如在菜单中
//布局编辑菜单
undoItem=newJMenuItem("
撤销(Z)Ctrl+Z"
undoItem.setEnabled(false);
cutItem=newJMenuItem("
剪切(T)Ctrl+T"
cutItem.setEnabled(false);
copyItem=newJMenuItem("
复制(C)Ctrl+C"
copyItem.setEnabled(false);
pasteItem=newJMenuItem("
粘贴(V)Ctrl+V"
pasteItem.setEnabled(false);
delItem=newJMenuItem("
删除(Del)Del"
//布局弹出式菜单
popMenu=newJPopupMenu();
popMenu.add(undoItem1=newJMenuItem("
撤销"
));
popMenu.addSeparator();
popMenu.add(cutItem1=newJMenuItem("
剪切"
popMenu.add(copyItem1=newJMenuItem("
复制"
));
popMenu.add(pasteItem1=newJMenuItem("
粘贴"
popMenu.add(delItem1=newJMenuItem("
删除"
popMenu.add(selectAllItem1=newJMenuItem("
全选"
)。
12.setComponentPopupMenu
publicvoidsetComponentPopupMenu(JPopupMenu
popup)
设置此JComponent的JPopupMenu。
UI负责注册绑定并添加必要的侦听器,这样可在恰当的时间显示JPopupMenu。
何时显示JPopupMenu取决于外观:
有些在鼠标事件中显示它,另一些则启用键绑定。
如果popup为null,并且getInheritsPopupMenu返回true,则将getComponentPopupMenu委托给父级。
这将允许所有子组件继承父组件的popupmenu。
这是一个绑定属性。
popup--分配给此组件的弹出菜单,可以为null
(在JtextArea有此方法,能将相应弹出式添加到JtextArea中,并在JtextArea中点击右键的时候自动弹出)
13.根据文件名来读文件,单只能读到跟程序在同一目录下文件
importjava.io.*;
importjava.util.Scanner;
publicclassTestPrintStream2
{
publicstaticvoidmain(String[]args)
args=newString[1];
System.out.println("
请输入文件名:
"
Scannerin=newScanner(System.in);
args[0]=in.nextLine();
Stringfilename=args[0];
if(filename!
=null){list(filename,System.out);
}
}
publicstaticvoidlist(Stringf,PrintStreamfs)
try
//根据文件名获得文件内容
BufferedReaderbr=
newBufferedReader(newFileReader(f));
Strings=null;
While((s=br.readLine())!
=null)
fs.println(s);
br.close();
catch(IOExceptione)
fs.println("
无法读取文件"
}
14.4
15.toString(int
i,int
radix)
返回用第二个参数指定基数表示的第一个参数的字符串表示形式。
Stringstr=Integer.toSting(100,16);
将100转化成16进制。
16.删除某字符串123123123中第2个123,用鼠标选中删除(用String类中substring)
intindex=myJTabpane.getSelectedIndex();
Stringstr=text[index].getText();
text[index].setText(str.substring(0,text[index].getSelectionStart())+str.substring(text[index].getSelectionEnd()));
17.记事本中从后往前查找,用到核心方法是lastIndexOf(),但是此方法只能查到文本中最后一条(符合匹配),所以用字符串的截取文中的字符串,在截取字符串中查找,然后设置光标位置(setSelectionStart(),setSelectionEnd())
if(flag==false)//指定开始查找的位置,从上次到的位置或者光标位置开始向上查找
{
if(start>
0)
{
var=text.getText().substring(0,start);
//字符串的截取的一个副本var
}
else
{
var=text.getText();
start=text.getText().length();
index=var.lastIndexOf(findField.getText(),start);
if(index<
{
JOptionPane.showMessageDialog(this,"
找不到"
+findField.getText());
start=0;
else
start=index;
//设置下次开始查找的位置
text.setSelectionStart(index);
text.setSelectionEnd(index+findField.getText().length());
}
17.将所用文本框中的字符串都转化成小写,JDK中String类里有toLowerCase();
StringtextStr=text.getText().toLowerCase();
//将所有的字母都转化小写
StringfindFieldStr=findField.getText().toLowerCase();
18.JTextFiled,JTextArea中监听文本的内容的改变,可以通过实现接口DocumentListener
中的三个方法insertUpdate,chengedUpdate,removeUpdate。
但是要注意添加监听器时候
要先获得Document再添加监听器。
text[0].getDocument().addDocumentListener(this);
如果用内部类:
Text[0].getDocument().addDocumentListener(new内部类的类名());
18.在C/S中编写服务器和客户器通讯(支持多线程)时,如果利用缓冲区发送数据时,要注意的是;
只有当缓冲区满的时候才会发送,如果想在缓冲区还没有满的时候就发送,就利用BufferedOutputStream类中的方法frush(),刷新此缓冲区的输入流。
BufferedOutputStreambos=newBufferedOutputStream();
InputStreamis=newInputStream();
bos.write(“Hello,welecomeyou!
”.getBytes());
bos.frush();
Byte[]buf=newByte[100];
intlen=is.read(buf));
System.out.println(newString(buf,0,len));
19.下载带图片的网页时,应当用字符流写,不要用字节流写,因为字节写时候会把一些2进制的代码看成换行,造成数据错误。
20.设置窗口JFrame大小有方法:
setBounds(int
x,int
y,int
width,int
height);
设置窗口JFrame最大化有方法:
setExtendedState
publicvoidsetExtendedState(int
state)
设置此窗体的状态。
该状态表示为逐位掩码。
∙NORMAL
指示不设置任何状态位。
∙ICONIFIED
∙MAXIMIZED_HORIZ
∙MAXIMIZED_VERT
∙MAXIMIZED_BOTH
串连MAXIMIZED_HORIZ和MAXIMIZED_VERT。
注意,如果该状态在给定平台上不受支持,则什么也不会发生。
应用程序可以通过java.awt.Toolkit#isFrameStateSupported(intstate)方法确定特定的状态是否可用。
state-窗体状态常量的逐位掩码
21.文本的内容的撤消和重复,JAVA提供类UndoManger中undo(),redo()方法,在JtextArea获得Document,再添加监听器UndoableEditListener
1>
undoManger=newUndoManager();
//创建UndoManager的对象
2>
text[0].getDocument().addUndoableEditListener(this);
3>
publicvoidundoableEditHappened(UndoableEditEventparm1)
{
undoManger.addEdit(parm1.getEdit());
}//实现接口UndoableEditListener中的方法
4>
publicvoiddoUndo()
try
undoManger.undo();
}
catch(Exceptione)
{
System.out.println("
不能撤消"
22.孙鑫JAVA无难事视频的笔记:
Lessons2
java-version判断JDK是否安装成功
Javap反编译在JAVA JDK中bin目录下有javap使用方法:
javap类名
JavapPoint(其中Point是类名)
方法的重载:
方法同名,但是要么参数类型不同,要么参数个数不同,两者必居其一
publicvoidpoint(){}
publicvoidpoint(intx,inty){}
publicvoidpoint(doublex,doubley){}
方法的覆盖:
继承时,为了覆盖父类的方法,要求方法名,方法的返回类型,参数个数,参数类型,完全相同。
a>
(super可以在子类中调用父类中被覆盖的方法,还可以用super调用父类中成员变量)
b>
(子类中的构造方法要么用super(带参数)显示调用父类的构造函数,要么隐式调用父类super()无参构造函数,并且super要在构造方法第一句)
c>
(构造方法是不能被继承的)
d>
多态性:
通过覆盖父类的方法来实现的,在运行时,根据传递的对象的引用,来调用响应的方法。
f>
instanceof判断某对象是某个类的实例
子类对象是父类的的实例
父类对象不是子类的示例
类的继承:
extends
1>
成员变量被方法中的形参(局部变量)覆盖,可以用this显示调用成员变量:
intx,y;
publicvoidpoint(x,y)
thisx=x;
thisy=y;
2>
使用this可以简化构造函数的调用。
publicvoidpoint()
this(3,3)//调用构造方法point(intx,inty)
静态方法可以直接用类名.静态方法(),不用创建类的对象。
也可以用类的对象引用静态方法和静态变量。
静态方法中不能有非静态变量和方法,因为静态方法属于类,不属于对象,也就是说在程序加载类的时候,静态方法就分配了内存,而非静态要创建类的对象之后才分配内存,即new之后,才分配内存。
[要有内存模型]
3>
非静态的方法可以调用静态方法和静态变量【用内存模型分析可得】
final定义一个常量时候初始化finaldoublePI=3.1415926;
final定义一个常量时候也可以在构造函数中赋初始值。
Point(){PI=3.1415926}
final定义一个常量是不可以修改的。
finaldoublePI=3.1415926;
PI=3.14;
(报错误)
4>
final定义的常量一般设置为static,可以节省内存。
如果不是static,每次创建该对象
时候,都会分配一个该常量的空间。
Pointpoint1=newPoint();
Pointpoint2=newPoint();
这样就造成了point2,point1的常量的空间浪费,如果是static的常量,point1,point2就不会给该常量在分配空间,都共用系统分配的全局常量的空间。
5>
如果申明常量为finalstatic的时候就一定要初始化finalstaticdoublePI=3.14;
22.面向对象的编程思路,先把某以事物看成一对象,抽象出它具有特点,比如:
状态(变量),行为(方法),然后在用extendx来继承抽象出的类,在子类中实现父类中行为(方法),在另外一个类中创建主函数。
23.孙鑫JAVA无难事视频的笔记:
Lessons3上
定一个包用packagepackagemybole;
package语句必须放在程序中第一条语句中
命令提示符用javac–d.Text.java就会生成相应Text类中定义的包的目录;
Javac–dd:
\Text.java就会在D盘的根目录下生成一个Text类中定义的包的目录
javac–dd:
*.java就会在D盘所有以java结尾都编译。
final修饰的类是最终类,不能被继承。
注意方法的权限修饰符public,protected,default,private的区别。
方法被申明final,可以被继承但是不被覆盖。
方法被申明为private,即不被继承,当然不能被覆盖。
方法被声明为static,即不被继承,也不能被覆盖。
方法被申明为abstract,所在类必须为抽象类,抽象不能被直接实例化,只能被继承。
抽象类不一定含有抽象方法,也可能抽象类中的所有的方法都被实现了,也可以将该类申明为抽象类。
6>
用interface定义一个接口。
接口中的方法的都是publicabstract,在用implements实现接口中方法,访问权限一定要在接口中的方法的权限等同或高(一定是public)接口中的数据成员,这些成员都是默认为publicstaticfinal(公有的静态常量)
接口可以多继承,类只能单继承,可以实现多个接口:
interfacesoftextendsSittable,Lie
7>
用implements实现一个接口。
24.staticStringvalueOf(booleanb)
返回boolean参数的字符串表示形式。
staticStringvalueOf(charc)
返回char参数的字符串表示形式。
staticStringvalueOf(char[]data)
返回char数组参数的字符串表示形式。
staticStringvalueOf(char[]data,intoffset,intcount)
返回char数组参数的特定子数组的字符串表示形式。
staticStringvalueOf(doubled)
返回double参数的字符串表示形式。
staticStringvalueOf(floatf)
返回float参数的字符串表示形式。
staticStringvalueOf(inti)
返回int参数的字符串表示形式。
staticStringvalueOf(longl)
返回long参数的字符串表示形式。
staticStringvalueOf(Objectobj)
返回Object参数的字符串表示形式。
我们可以将char类型用valueOf(charc)转化成String类型,在用Integer.parseInt(Stringstr)转化成int类型。
25.孙鑫视频Lessons3下:
1》内部类可以直接访问外部类的方法和成员变量,但是外部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 经验