当前位置:文档之家› Java中封装的几个关键语句

Java中封装的几个关键语句

Java中封装的几个关键语句

封装/隐藏

同一个类同一个包中子类所有类Private(私有)*

Default(默认,什么都不加)* *

Protected(受保护的) * * *

Public(公开的)* * * *

封装要点:

①一般使用private,常量和static可用public (除非本属性确定会让子类继承)

②提供相应的get/set方法来访问相关属性,这些方法通常是public,

从而提供对属性的读取操作。(注意:Boolean变量的get方法是用:is替换get!)

③一些只用于本类的辅助性方法可以用private,

希望其他类调用的方法用public

④*表示看得到的范围

手动设置Get/Set例:

private String name;

public string getName(){

Return name;

}

public void setName(String name){

https://www.doczj.com/doc/1a12231420.html, = name;

}

java实验报告有理数的类封装

华中科技大学文华学院 《Java程序设计》实验报告 实验三:有理数的类封装 专业班级:通信工程2008级1班姓名: 学号: 时间:

实验三:有理数的类封装 1、实验目的: 让学生学习使用类来封装对象的属性和功能。 2、实验要求: 希望程序能对分数(分子分母都是整数)进行四则运算,而且两个分数四则运算的结果仍然是分数。分数也称有理数。本实验要求用类实现对有理数的封装。有理数有两个重要的成员:分子和分母,另外还有重要的四则运算。 编写一个java应用程序,该程序中有一个Rational(有理数)类,具体要求如下: ※Rational类有两个int型的成员变量,名字分别为numberator(分子)和denominator(分母)。 ※提供Rational add(Rational r)方法,即有理数调用该方法与参数指定的有理数做加法运算,并返回一个 Rational对象。 ※提供Rational sub(Rational r)方法,即有理数调用该方法与参数指定的有理数做减法运算,并返回一个 Rational对象。 ※提供Rational muti(Rational r)方法,即有理数调用该方法与参数指定的有理数做乘法运算,并返回一个 Rational对象。 ※提供Rational div(Rational r)方法,即有理数调用该方法

与参数指定的有理数做除法运算,并返回一个Rational 对象。 3、程序效果图 4、程序代码(主要语句有注释!) 5、实验思考问题 6、实验总结及心得 附录:程序摸版 Rational.java public class Rational { int numerator,denominator; Rational(){} Rational(int a,int b){ setNumeratorAndDenominator(a,b); } void setNumeratorAndDenominator(int a,int b){ //设置分子和分母 int c=f(Math.abs(a),Math.abs(b)); //计算最大公约数 numerator=a/c; denominator=b/c; if(numerator<0&&denominator<0){

《Java范例开发大全》

下面是377个Java的例子。如果你是牛人,看看你能做出多少? 如果有人不相信这些例子都是Java做的,可以看看清华大学的《Java范例开发大全》实例1开发第一个Java程序 实例2自动提升 实例3自动转换 实例4常用基础类型之强制转换 实例5算术运算符 实例6关系运算符 实例7逻辑运算符 实例8位运算符 实例9移位运算符 实例10转型运算符 实例11常量与变量 实例12各种进制的转换 实例13 Java中的进制与移位运算符 实例14判断输入的年份是否为闰年 实例15抽奖活动 实例16xx乘法表 实例17如何列出素数 实例18 Java中的递归 实例19男生女生各多少人

实例20求xx数 实例21求任意一个正数的阶乘 实例22求n的n次方 实例23利用for循环输出几何图形 实例24xx 实例25求1到100之间的和 实例26存上100元需要多少天 实例27输出100之间的所有偶数 实例28如何判断回文数字 实例29输出100之间的所有奇数 实例30求最大的随机数 实例31判断字母分类 实例32优良及差 实例33打印任意一年日历 实例34一年四季的划分 实例35除0发生的算术异常(ArithmeticException) 实例36数组下标越界异常(ArrayIndexOutOfBoundsException)实例37数组元素类型不匹配异常(ArrayStoreException) 实例38强制类型转换异常(ClassCastException) 实例39索引越界异常(IndexOutOfBoundsException) 实例40空指针异常(NullPointerException)

如何用记事本编写一个简单的java代码

如何用记事本编写一个简单的j a v a代码 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

一:怎么用记事本写第一个java代码 第一步:新建txt文档 首先我们在F盘新建一个txt文档,并命名为,如下图所示: 第二步:编写代码 我们双击打开:如下图所示 第三步:编写好代码 我们在记事本中写代码,写好后如下所示:

然后我们同时按Ctrl+s键保存,然后关闭记事本即可 上面的源代码如下: public class Test{//这里的Test为类名,这里类名要与我们刚才新建的记事本的名字必须一致,首字母大写 public static void main(String[] args){//java中的主函数的写法 "HelloWorld");//java中的输出语句写法 } } 第三步:打开控制台界面 我们在计算机中,打开如下图界面,

然后在这里,输入cmd,并按回车,然后弹出如图所示

第四步:在控制台中运行并输出 我们用鼠标点击一下里面黑色部分,然后输入F:然后回车,然后再输入javac 然后回车,最后输入java Test,就可以看到结果了,如下图所示:

红色圈出来部分就是结果了 二:温馨提示: 1,上面演算中在控制台中首先输入F:的原因是因为我在F盘建立一个文本文档,并命名为,如果你是把你的文档文档建立在D盘,则应该输入D: 以此类推。 2,如果你是在F盘下的CH文件夹建立一个记事本,并命名为,则输入的情况如下, cd CH表示转到CH这个文件夹下,然后再输入回车,再输入java Test 就可以看到运行结果了

如何写一个正确的JAVA程序

若在定义中出现了常数初始化字符,则大写基本类型标识符中地所有字母.这样便可标志出它们属于编译期地常数.个人收集整理勿做商业用途 包()属于一种特殊情况:它们全都是小写字母,即便中间地单词亦是如此.对于域名扩展名称,如,,或者等,全部都应小写(这也是和地区别之一).个人收集整理勿做商业用途() 为了常规用途而创建一个类时,请采取“经典形式”,并包含对下述元素地定义:() () () ()( ) () 对于自己创建地每一个类,都考虑置入一个(),其中包含了用于测试那个类地代码.为使用一个项目中地类,我们没必要删除测试代码.若进行了任何形式地改动,可方便地返回测试.这些代码也可作为如何使用类地一个示例使用.个人收集整理勿做商业用途() 应将方法设计成简要地、功能性单元,用它描述和实现一个不连续地类接口部分.理想情况下,方法应简明扼要.若长度很大,可考虑通过某种方式将其分割成较短地几个方法.这样做也便于类内代码地重复使用(有些时候,方法必须非常大,但它们仍应只做同样地一件事情). () 设计一个类时,请设身处地为客户程序员考虑一下(类地使用方法应该是非常明确地).然后,再设身处地为管理代码地人考虑一下(预计有可能进行哪些形式地修改,想想用什么方法可把它们变得更简单).个人收集整理勿做商业用途 () 使类尽可能短小精悍,而且只解决一个特定地问题.下面是对类设计地一些建议:■一个复杂地开关语句:考虑采用“多形”机制 ■数量众多地方法涉及到类型差别极大地操作:考虑用几个类来分别实现 ■许多成员变量在特征上有很大地差别:考虑使用几个类. () 让一切东西都尽可能地“私有”——.可使库地某一部分“公共化”(一个方法、类或者一个字段等等),就永远不能把它拿出.若强行拿出,就可能破坏其他人现有地代码,使他们不得不重新编写和设计.若只公布自己必须公布地,就可放心大胆地改变其他任何东西.在多线程环境中,隐私是特别重要地一个因素——只有字段才能在非同步使用地情况下受到保护.个人收集整理勿做商业用途 () 谨惕“巨大对象综合症”.对一些习惯于顺序编程思维、且初涉领域地新手,往往喜欢先写一个顺序执行地程序,再把它嵌入一个或两个巨大地对象里.根据编程原理,对象表达地应该是应用程序地概念,而非应用程序本身.个人收集整理勿做商业用途() 若不得已进行一些不太雅观地编程,至少应该把那些代码置于一个类地内部. () 任何时候只要发现类与类之间结合得非常紧密,就需要考虑是否采用内部类,从而改善编码及维护工作(参见第章小节地“用内部类改进代码”).个人收集整理勿做商业用途() 尽可能细致地加上注释,并用注释文档语法生成自己地程序文档. () 避免使用“魔术数字”,这些数字很难与代码很好地配合.如以后需要修改它,无疑会成为一场噩梦,因为根本不知道“”到底是指“数组大小”还是“其他全然不同地东西”.所以,我们应创建一个常数,并为其使用具有说服力地描述性名称,并在整个程序中都采用常数标识符.这样可使程序更易理解以及更易维护.个人收集整理勿做商业用途 () 涉及构建器和异常地时候,通常希望重新丢弃在构建器中捕获地任何异常——如果它造成了那个对象地创建失败.这样一来,调用者就不会以为那个对象已正确地创建,从而盲目地继续.个人收集整理勿做商业用途

看完这30个技巧让你写好Java代码

看完这30个技巧让你写好Java代码 2019.8整理 成为一个优秀的Java程序员,有着良好的代码编写习惯是必不可少的。下面就让我们来看看代码编写的30条建议吧。 (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。 Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此。对于域名扩展名称,如com,org,net或者edu等,全部都应小写(这也是Java 1.1和Java 1.2的区别之一)。 (2) 为了常规用途而创建一个类时,请采取”经典形式”,并包含对下述元素的定义:

(3) 对于自己创建的每一个类,都考虑置入一个main(),其中包含了用于测试那个类的代码。为使用一个项目中的类,我们没必要删除测试代码。若进行了任何形式的改动,可方便地返回测试。这些代码也可作为如何使用类的一个示例使用。 (4) 应将方法设计成简要的、功能性单元,用它描述和实现一个不连续的类接口部分。理想情况下,方法应简明扼要。若长度很大,可考虑通过某种方式将其分割成较短的几个方法。这样做也便于类内代码的重复使用(有些时候,方法必须非常大,但它们仍应只做同样的一件事情)。 (5) 设计一个类时,请设身处地为客户程序员考虑一下(类的使用方法应该是非常明确的)。然后,再设身处地为管理代码的人考虑一下(预计有可能进行哪些形式的修改,想想用什么方法可把它们变得更简单)。 (6) 使类尽可能短小精悍,而且只解决一个特定的问题。下面是对类设计的一些建议: ?一个复杂的开关语句:考虑采用”多形”机制 ?数量众多的方法涉及到类型差别极大的操作:考虑用几个类来分别实现 ?许多成员变量在特征上有很大的差别:考虑使用几个类 (7) 让一切东西都尽可能地”私有”–private。可使库的某一部分”公共化”(一个方法、类或者一个字段等等),就永远不能把它拿出。若强行拿出,就可能破坏其他人现有的代码,使他们不得不重新编写和设计。若只公布自己必须公布的,就可放心大胆地改变其他任何东西。在多线程环境中,隐私是特别重要的一个因素–只有private字段才能在非同步使用的情况下受到保护。 (8) 谨惕”巨大对象综合症”。对一些习惯于顺序编程思维、且初涉OOP领域的新手,往往喜欢先写一个顺序执行的程序,再把它嵌入一个或两个巨大的对象里。根据编程原理,对象表达的应该是应用程序的概念,而非应用程序本身。 (9) 若不得已进行一些不太雅观的编程,至少应该把那些代码置于一个类的内部。 (10) 任何时候只要发现类与类之间结合得非常紧密,就需要考虑是否采用内部类,从而改善编码及维护工作(参见第14章14.1.2小节的”用内部类改进代码”)。 (11) 尽可能细致地加上注释,并用javadoc注释文档语法生成自己的程序文档。

Java类与对象实验报告

实验报告 一、实验项目:类与对象 二、实验目的: 1. 学会使用类来封装对象的属性和功能 2. 掌握类变量与实例变量,以及类方法与实例方法的区别 3. 掌握使用package和import语 三、实验器材:计算机、Java编程软件JCreator 四、实验原理(或仪器装置图): 1. 类与对象 类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类是用来定义对象的模板。 类声明 class 类名{ 类体 } 对象的声明 一般格式为: 类的名字对象名字; 定义对象引用后,用new运算符完成对象的创建工作,分配存储空间,并对其初始化。 变量名=new 类名([构造方法实参表]); 对象的使用 访问成员的基本语法形式如下:

对象名.变量成员名 对象名.方法成员名([实际参数表]) 2.成员变量和局部变量 成员变量格式:[修饰符] 变量类型变量名[=初值]; 成员方法: 格式:[修饰符] 返回值的数据类型方法名(参数1,参数2,…) { 语句序列; return[表达式]; } 类中定义的变量是成员变量,而方法中定义的变量是局部变量。 3. 构造方法 构造方法是一种特殊的方法,创建对象时被自动调用。与一般的方法不同,它没有返回值类型的说明,方法体中也不可以用return语句带回返回值。构造方法的方法名与类名相同在构造方法中可以通过this关键字调用该类中其他的构造方法。 4.包 包是Java语言中有效地管理类的一个机制。 ①通过关键字package声明包语句。package 语句作为Java源文件的第一条语句,指 明该源文件定义的类所在的包。package语句的一般格式为:package 包名; ②import 语句:使用import 语句可以引入包中的类。 五、实验步骤及数据记录: 1.定义一个圆柱体类Cylinder,并创建相应的对象,然后计算圆柱体的底面积与体积。

《Java程序设计》题目样例

【题目样例】 一、单选题 1.下面哪个特性不是Java具有的(D )。 A、“纯”面向对象 B、安全性高 C、可移植性好 D、运行速度快 2.下面哪个类型是Java中不支持的(C )。 A、布尔类型 B、字符串 C、指针 D、数组 3.下面哪个不属于Java语言的关键字(B )。 A、native B、const C、final D、finally 4.下面关于数组的使用,不正确的是(C )。 A、int a[] = {1, 2, 3}; B、int a[][] = {{ 1, 2 }, { 3, 4} }; C、int a = new int[6] for (int i=0; i<6; i++) a[i] = i * i; D、int a[][] =new int[2][ ]; int a[1] = new int [4]; int a[2] = new int[5]; 5.应用程序的main方法中有以下语句,则输出的结果是(A )。 String obj = new String("abcxyz"); for(int i = obj.length() - 1; I > 0; i--) System.out.print(obj.charAt(i)); A、zyxcba B、xyz C、zyxcb D、abcxyz 6.下面函数,哪一组不属于方法重载(A )。 A、int fun(int a, int b, float c) { … } float fun(int b, int a, float c) { … } B、int fun(int a, int b) { … } int fun(int a, int a, float c) { … } C、int fun(int a) { … } int fun(int a, int b) { … } D、int fun(int a, float b) { … } int fun(float b, int a) { … } 7.若创建RandomAccessFile类对象raf2: RandomAccessFile raf2 = new RandomAccessFile("1.txt", "rw"),该语句的功能是(B )。 A、打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。 B、打开当前目录下的文件1.txt,既可以向文件写入数据,也可以从文件读取数据。 C、打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。 D、以上说法都不对。 8.应用程序main方法中有以下语句,则输出的结果是(A )。 String s = "java@123456@"; int n = s.indexOf("@"); int k = s.indexOf("@", 5); String s2 = s.substring(n + 1, k);

JAVA编程实例大全及详解答案(50例)

JA V A编程实例大全及详解答案(50例) 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count);

类的设计与封装(一)实验报告

浙江大学城市学院实验报告课程名称面向对象程序设计 实验项目名称类的设计与封装实验(一) 学生姓名专业班级学号 一. 实验目的和要求 1.掌握使用类将对象的属性与功能封装在类中的特点 2.掌握实例方法与构造方法 二. 实验内容 1. 分析Time类的设计 2. 分析并设计Product类 3. 分析并设计Fraction类 4. 设计Rectangle类 5. 设计Student类及其测试类School类 三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果) 1. 阅读以下关于Time类的代码,分析程序并回答相关的问题 import java.text.DecimalFormat; public class Time{ private int hour; private int minute; private int second; Time(){hour=0;minute=0;second=0;} Time(int h){ hour=h;minute=0;second=0;} Time(int h,int m){hour=h;minute=m;second=0;} Time(int h,int m,int s){hour=h;minute=m;second=s;} Time(Time time){ this.hour=time.getHour(); this.minute=time.getMinute(); this.second=time.getSecond(); } public int getHour(){return hour;} public int getMinute(){ return minute;}

java简单图形用户界面代码

package dsr; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import https://www.doczj.com/doc/1a12231420.html,.Socket; public class Login extends JFrame implements ActionListener{ //定义组件 JPanel northPanel,southPanel,centerPanel,centerPanel1,centerPanel11,centerPanel12; JButton loginBtn,registerBtn,cancalBtn; JLabel userLbl,passwordLbl,titleLbl; JTextField userTxt; JPasswordField passwordPwd; static String name; public Login () { super("用户登录"); northPanel=new JPanel(); southPanel=new JPanel(); centerPanel1=new JPanel(); centerPanel11=new JPanel(); centerPanel12=new JPanel(); //标题 titleLbl=new JLabel("欢迎进入考试系统"); titleLbl.setFont(new Font("隶书",Font.BOLD,24)); northPanel.add(titleLbl); this.add(northPanel,BorderLayout.NORTH); //中间部分 centerPanel1.setLayout(new BorderLayout()); userLbl=new JLabel("用户名"); userTxt=new JTextField(12); centerPanel11.add(userLbl); centerPanel11.add(userTxt); centerPanel1.add(centerPanel11,BorderLayout.NORTH); passwordLbl=new JLabel("密码"); passwordPwd=new JPasswordField(12); centerPanel12.add(passwordLbl); centerPanel12.add(passwordPwd);

java上机实验报告(完整高分打印版)

Java语言程序设计实验报告 学生所在学院:里仁学院 学生所在班级:08计算机一班 学生姓名:hejinhai 指导教师:崔勇强 教务处

2010年6月 第1篇核心基础篇 实验一 第3章Java语言基础 3.2 表达式与语句 3.2.2 运算符与表达式 9 Java强制类型转换 一,实验目的: 掌握和理解强制类型转换原理格式及使用方法。 二,实验内容: 编写程序定义整形变量x,把他强制类型转换成byte类型,观察输出结果。 三,源程序: public class Test { public static void main(String[] args) { int x=1200; byte b=(byte)x;

System.out.println("转换结果是:"+b); } } 输出结果:-80 四,原理: 根据低级数据和高级数据的相互转换规则,把输入的整形数1200转换成二进制数,转换成补码形式取前八位,输出结果。 实验二 第3章Java语言基础 3.2 表达式与语句 3.2.2 运算符与表达式 4 位运算符 一,实验目的: 理解和掌握移位运算符操作,使用方法,和格式。 二,实验内容: 编写程序,定义两个整型变量,采用左移右移运算符 >> ,<<,和不带符号右移运算符 >>>,对整型变量进行移位运算,输出

结果,观察结果。 三,源程序: public class Test { public static void main(String[] args) { int s1=1357;int s2=-1357; int s3=s1>>5;int s4=s2>>5; int s5=s1>>>5;int s6=s2>>>5; int s7=s1<<5;int s8=s2<<5; int s9=s1>>37;int s10=s2>>37; System.out.println("数字一是"+s1); System.out.println("数字二是"+s2); System.out.println("数字一的<<左移五位结果是"+s7); System.out.println("数字一的>>右移五位结果是"+s3); System.out.println("数字一的>>>右移五位结果是"+s5); System.out.println("数字二的<<左移五位结果是"+s8); System.out.println("数字二的>>右移五位结果是"+s4); System.out.println("数字二的>>>右移五位结果是"+s6);

JAVA实验报告

编号: JAVA大学教程实验报告 院系:计算机科学与工程学院 专业:计算机科学与技术 学生姓名:方遥 学号:1100310107 指导教师:汪华登 2013年12月15日

实验一Java开发环境及基本语法 一、实验目的 1、掌握常用的Java集成开发环境的使用,特别是Eclipse和NetBeans。 2、掌握Java基本语法,重点是面向对象的思想和语法。 3、掌握控制台下(应用程序)的输入输出方法,作为后续部分实验的基础。 二、实验类型 设计型。 三、实验内容 1、打开实验室计算机上的集成开发环境Eclipse或NetBeans(重点是Eclipse),掌握其基本使用方法。了解开发软件的各个菜单功能。会创建java项目(Project),会编辑和编译、运行项目代码。 2、验证和学习所给的几个例子程序及其讲解。然后自己编写一个至少由一个类构成的Java程序,其功能是在运行后,能接收用户输入一个学生的姓名以及java课的成绩(百分制),并输出对该学生成绩是否达到60分的及格分的判断(可使用if语句)。例如,输入学生姓名李明,然后输入成绩50,则输出“李明的成绩为不及格”。 3、编写一个程序来表示长方体的长宽高等数据并有计算体积的函数可供调用,长方体类从矩形类继承而来。程序运行时能接受输入任意的3 个数作为长方体的长、宽和高,然后能够输出所输入的长宽高及所计算出的体积。注意不能把代码全部写在main函数里面,不能直接输出长宽高的乘积。在解决该问题的程序设计中,将体积计算等功能封装成方法调用,长宽高等属性封装到矩形类和长方体类中,尽量多地用到接口的定义、类的定义、成员变量的定义、成员函数的定义、类的继承等面向对象的语法和知识点。在此基础上熟悉、理解和解释类的封装、继承等面向对象编程思想和概念。 四、预备知识 作为一门完全面向对象的程序设计语言,Java语言编写的所有程序都是由类(以及接口)构成的。所以我们需要重点掌握类的定义、修饰,对象的创建,类的继承,以及接口等面向对象语法知识。Java中没有模板、多继承、运算符重载等C++中比较复杂的语法部分,其面向对象语法相对简单。 大家此前一般学过C或C++语言等,那么请注意,由于Java是“完全”面向对象的语言,任何程序代码都是类或接口构成,所以请务必摒弃在C语言等的学习过程中形成的喜欢在main函数外部定义全局变量等习惯,因为这些做法在Java中将直接成为错误。Java程序都只由接口和(或)类构成,类中才可定义普通数据类型或复合数据类型的成员变量。对于初学面向对象程序设计的学习者而言,类看起来很复杂,实际上我们应该注意到:类只是由两种东西构成的,一种是成员变量,另一种是成员函数(或称成员方法)。对于Java程序而言,只有在成员函数中,才可以编写和存在具体的执行语句。而在Java程序的类中的成员函数中,就涉及到数据类型和循环语句等基本语法。 Java的基本语法与C语言是很接近的。同样有普通数据类型变量(在Java中包括整型、字符型、布尔型等)的定义,同样有if语句,if-else语句,switch语句,以及while循环,for 循环,do-while循环。此处不单独举例,大家首先可在main函数中自己编写简单的代码对这些基本语法概念进行练习和验证。然后应用Java的面向对象语法,设计类和定义对象等,进行Java面向对象编程思想和语法的熟悉。 实验源代码1:

Java九大示例程序

JAVA面向对象九个经典例子程序 1 Hello world例子 (1) 2 类的基本组成示例 (1) 3静态与非静态变量及方法的使用 (3) 4 类继承的例子 (3) 5类的访问修饰符 (4) 6抽象类及其实现示例 (5) 7接口及其实现 (6) 8 抽象类与接口混合编程例子 (7) 9 接口回调与多态性 (8) 1 Hello world例子 package Example; //定义自己的包名 public class Example1 //定义一个类 { public static void main(String[] args) //系统可以执行的main方法,这里是一个公有静态无返回值的方法 { System.out.println("Hello world!"); //调用https://www.doczj.com/doc/1a12231420.html,ng包中的System类的PrintLine方法输出Hello world! } } 2 类的基本组成示例 package Example; class Person { public int age; //声明公共字段age private String name; //声明私有字段name,此时name为类的属性,下面通过公有方法进行访问 public String getName() { return name;

} public void setName(String name) { https://www.doczj.com/doc/1a12231420.html, = name; } public void eat() //定义无参数的eat方法 { System.out.println("Person can eat"); } public void eat(String s) //定义带参数的eat方法,实现方法重载 { System.out.println("Person can eat"+s); } public Person() //定义无参构造函数,注意无返回值定义,方法与类同名 { } public Person(int age, String name) //重写一个带参数构造函数,注意无返回值定义,方法与类同名 { this.age = age; //前一个age为对象的字段,由this指定,后一个age为函数形参 https://www.doczj.com/doc/1a12231420.html, = name; //前一个name为对象的属性,由this指定,因为在本类中可直接访问,后一个name为函数形参 } } public class Example2 { public static void main(String[] args) { Person person1 = new Person(); //调用类的无参构造函数 person1.age = 20; //给对象的公有字段直接赋值 person1.setName("zhangsan"); //必须使用公共方法才能给对象的属性赋值 System.out.println("第一个人信息,姓名:"+person1.getName()+"年 龄:"+person1.age); person1.eat(); //调用对象的无参方法 Person person2 = new Person(18, "lisi");//调用类的有参构造函数 System.out.println("第二个人信息,姓名:"+ person2.getName() + "年龄:"+ person2.age); person2.eat(" 馒头"); //调用对象的有参方法 } }

java程序设计试卷样例

东华大学2008~ 2009学年第一学期期末试题 踏实学习,弘扬正气;诚信做人,诚实考试;作弊可耻,后果自负。课程名称JA V A程序设计使用专业计算机大类07 班级_________________ 姓名________________ 学号_______________ 一二三四五六七八总分 试题 得分 一、选择题(每题2分,共20分) 1、Java编译器和解释器所在的目录是 (A ) A、JDK 的bin 目录 B、JDK 的demo 目录 C、JDK 的lib 目录 D、JDK 的jre 目录 2、A类定义如下,设a是A类的一个实例,下列语句调用中错误的是 ( C ) class A { int i; static String s; void method1() { } static void method2() { } } A、System.out.println(a.i); B、a.method1(); C、A.method1(); D、A.method2(); 3、关于方法main()的说法哪个正确?(A ) A、main()方法只能放在公共类中 B、main()的头定义可以根据情况任意更改 C、一个编译单元中允许一个以上的类具有main()方法 D、所有对象的创建都必须放在main()方法中 4、关于对象成员占用内存的说法哪个正确?(B) A、同一个类的对象共用同一段内存 B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 1

C、对象的方法不占用内存 D、以上都不对 5、关于下列程序,正确的是(C)A public class IfTest { public static void main(String[]args) { String x = "Hello "; String y = x; if (x != y) System.out.println("Not equal"); else System.out.println("Equal"); } . } A、输出是“Equal” B、输出是“Not Equal” C、不允许用==测试两个String对象是否相等 D、以上都不对 6、下列程序的执行结果是( B { public void run() { int a=0; do{ System.out.print(a+" "); a++; }while(a<3); } } public class ex14{ public static void main(String[ ]args) { T1 t=new T1( ); t.start( ); } } A、1 2 3 B、0 1 2 C、0 0 0 D、1 1 1 2

数字签名实例代码

在java中编程实现数字签名系统 一个数字签名系统主要分为三个部分: 1。生成密钥对 2。在数据发送端对数据进行签名 3。在数据接收端对数据进行校验数据签名 下面从这三个方面分别说明: 1。生成密钥对 生成密钥对可用java提供的类KeyPairGenerator,用其中的getInstance方法创建KeypairGenerator对象,在用initialize进行初始化,最后用generateKeyPair生成密钥对,密钥对生成后,就可以将其写入文件中。通过网络或其他方式公告用户,用户接收到数据文件和签名文件后,就可以使用公约来校验数据文件的数字签名, ;判断数据在网络中的传输是否被非法修改。 ////GenerateKeyPair.java///////////// import java.io.*; import java.security.*; public class GenerateKeyPair{ public static void main(String[] args){ boolean bHelp=false;//sign for show help. FileOutputStream fileOut;//输出密钥到文件 byte[] pubkey;//存储已编码的公钥字节 byte[] privKey;//存储已编码的私钥字节 if(args.length!=1){ System.out.println("Usage:GenerateKeyPair ; System.out.println("Option:"); System.out.println(":The key name that using to genera te filename."); System.exit(0); } try{ System.out.println("Generating a key pair....."); KeyPairGenarator keyGen=KeyPairGenerator.getInstance("DSA");//使用DSA算法KeyGen.initialize(1024,new SecureRandom()); KeyPair pair=keyGen.generateKeyPair(); PublicKey pub=pair.getPublic(); PrivateKey priv=pair.getPrivate(); pubkey=pub.getEncoded(); privateKey= priv.getEncoded(); fileOut=new FileOutputStream("PublicKey_"+args[0]); fileOut.write(pubKey); fileOut.close(); fileOut=new FileOutputStream("privateKey_"+args[0]): fileOut.write(privateKey); file.out.close(); System.out.println("OK!"); }catch(Exception e){ } } } } 2.生成数字签名 从私钥文件读取数据文件并将其转换为PrivateKey对象,可以使用KeyFactory类和

Java代码签名证书申请和使用方法

文档出处:https://www.doczj.com/doc/1a12231420.html,/support/java_signing_guide.html 第1步下载签名工具Step 1: Download Signing Tools 如果您还没有签名工具,请到SUN公司网站免费下载:https://www.doczj.com/doc/1a12231420.html,/j2se/,推荐下载JDK1.4.2或以上版本,支持Solaris SPARC/x86, Linux86 和Windows 操作系统。 If you have not already done so, download the Java 2 Software Development Kit (SDK). The latest version is available free of charge for the Solaris SPARC/x86, Linux86, and Microsoft Windows platforms from https://www.doczj.com/doc/1a12231420.html,/j2se/. 您将使用签名工具中的keytool, jar, jarsigner 来申请代码签名证书和数字签名您的代码。 You will be using the keytool, jar, and jarsigner to apply for your Code Signing C ertificate and sign your code. 第2步申请签名证书Step 2: Enrollment (1) 生成私钥和公钥对(Keystore) Create a Keystore 使用以下命令生成私钥和公钥对: To generate a public/private key pair, enter the following command, specifying a name for your keystore and an alias as well. c:\jdk1.5\bin\keytool -genkey -keyalg rsa -keystore -alias Keytool 会提示您输入私钥密码、您的姓名(Your name,填单位网址)、您的部门名称、单位名称、所在城市、所在省份和国家缩写(中国填:CN,其他国家填其缩写),单位名称一定要与证明文件上的名称一致,部门名称(OU)可以不填。除国家缩写必须填CN外,其余都可以是英文或中文。请一定要保存好您的私钥和私钥密码。我们不会要求您提供私钥文件! Keytool prompts you to enter a password for your keystore, your name, organization, and address. The public/private key pair generated by keytool is saved to your keystore and will be used to sign Java Applets and applications. This key is never sent to Thawte and is required to sign code. Thawte encourages you to make a copy of the public/private key pair and store it in a safe deposit box or other secure location. If the key is lost or stolen, contact Thawte immediately to have it revoked. (2) 生成证书请求文件(CSR) Generate a CSR 请使用如下命令生成证书请求文件(CSR): You need to generate a Certificate Signing Request (CSR) for the enrollment process, the following command requests Keytool to create a CSR for the key pair in the keystore: c:\jdk1.5\bin\keytool–certreq –file certreq.csr –keystore -alias 请把生成的certreq.csr 文件复制和粘贴到Thawte证书在线申请页面的CSR文本框中,或直接发给维瑞客服,请等待1-2个工作日后颁发证书。 Copy the contents of the CSR and paste them directly into the VeriSign enrollment form. Open the file in a text editor that does not add extra characters (Notepad or Vi are recommended). 第3步使用代码签名证书Step 3: Begin Using (1) 导入签名证书Import Thawte Codesigning Certificate

相关主题
文本预览
相关文档 最新文档