Java基础知识点答案
- 格式:doc
- 大小:98.00 KB
- 文档页数:14
《Java基础入门》课后习题答案第7章IO(输入输出)一、填空题1、Java中的I/O流,按照传输数据不同,可分为:字节流、字符流2.在Buffer与Channel交互时,数据从:Channel、读取到Buffer 中,或从Buffer入到Channel 中。
3.用于将字节流转换为字符流的是:InputStreamReader、OutputStreamWriter2、NIO主要有三大核心部分:Buffer、Channel、Selector5、Java中提供了一个类:RandomAccesseFile,它不但具有读写文件的功能,而且可以随机地从文件的任何位置开始执行读写数据的操作。
二、判断题1. 如果一个File表示目录下有文件或者子目录,调用delete()方法也可以将其删除。
错2.对象序列化是指将一个Java 对象转换成一个I/0 流中字节序列的过程。
对3.Channel 是一个接口对象,它类似于传统的流对象。
对4.InputStream类的close()方法是用于关闭流并且释放流所占的系统资源。
对5,BufferedInputStream 和BufferedOutputStream 不是字节缓冲流。
错三、选择题1.下面选项中,哪些是标准输人输出流?(多选) (AB)A. System.InB.System. OutC.InputStreamD.OutputStream2.File类中以字符串形式返回文件绝对路径的方法是哪一项?(C)A. getParent()B. getNamel)C. getAbsolutePathOD. getPath()3.以下创建RandomAccessFile类实例对象的代码,哪些是正确的?(多选)(AB)A.new RandomAccessFile(new File("D:\\itcast\\dirl\test. java"),”rw”);B.new RandomAccessFile("D:\\itcast\\dirl\test. java","r");C. new RandomAccessFile("D:\\itcast\\dir1\\test.java");D. new RandomAccessFile("D:\\itcast\\dir1\\test.java","wr")4.以下选项中,哪个流中使用了缓冲区技术? (A)A. BufferedOutputStreamB. FileInputStreamC. DataOutputStreamD. FileReader5.以下选项中,关于Java NIO 中Buffer类的常用说法正确的是哪一项?(B)A.clearO方法会清除缓冲区数据,并将position 设置为0.limit 设置为capacity OB.fip()方法先将limit 设置为当前position 位置,然后再将pson设置为0C.mark()方法用于设置Buffer 的标记(mark),其能在0 与limi 之间做标记D.rewind()方法将position 设置为0,并设置mark 标记四、简答题1、简述I/O 流的概念。
java各章习题答案Java各章习题答案在学习Java编程语言的过程中,习题是非常重要的一部分。
通过习题,我们可以巩固所学的知识,加深对语言特性和用法的理解。
在每一章的学习结束后,我们都会遇到一系列的习题,这些习题涵盖了本章的知识点,帮助我们检验自己的掌握程度。
下面我们来看一下Java各章习题的答案。
第一章:Java基础知识1.1 什么是Java编程语言?Java是一种面向对象的编程语言,由Sun Microsystems公司于1995年推出。
它具有跨平台性和安全性等特点。
1.2 Java程序的基本结构是什么?Java程序的基本结构包括包名、导入语句、类声明、主方法和其他方法。
1.3 Java中的数据类型有哪些?Java中的数据类型包括基本数据类型和引用数据类型。
基本数据类型包括整型、浮点型、字符型和布尔型。
1.4 Java中的控制语句有哪些?Java中的控制语句包括if语句、switch语句、while循环、for循环等。
第二章:面向对象编程2.1 什么是面向对象编程?面向对象编程是一种程序设计范式,它将数据和方法封装在对象中,通过对象之间的交互来实现程序的功能。
2.2 Java中的类和对象有什么区别?类是一种抽象的概念,它用来描述对象的属性和行为;对象是类的实例,它具体描述了类的属性和行为。
2.3 Java中的继承和多态是什么?继承是一种类与类之间的关系,它允许一个类继承另一个类的属性和方法;多态是一种对象的多种形态,它允许同一个方法在不同的对象上具有不同的行为。
2.4 Java中的封装和抽象是什么?封装是一种将数据和方法封装在对象中的机制,它可以保护数据的安全性;抽象是一种将对象的共性特征提取出来的机制,它可以提高代码的复用性。
第三章:异常处理3.1 什么是异常?异常是程序在运行过程中发生的错误或意外情况,它可能导致程序的中断或崩溃。
3.2 Java中的异常处理机制有哪些?Java中的异常处理机制包括try-catch语句、throw语句和throws关键字等。
java基础练习题及答案Java基础练习题及答案Java作为一种广泛应用的编程语言,其基础知识的掌握对于程序员而言是至关重要的。
为了帮助大家更好地理解和掌握Java的基础知识,下面将提供一些常见的Java基础练习题及其答案,希望对大家有所帮助。
一、数据类型与变量1. 编写一个Java程序,声明一个整型变量x并赋值为10,然后输出该变量的值。
```javapublic class Main {public static void main(String[] args) {int x = 10;System.out.println(x);}}```2. 编写一个Java程序,声明一个字符型变量ch并赋值为'A',然后输出该变量的值。
```javapublic class Main {public static void main(String[] args) {char ch = 'A';System.out.println(ch);}```3. 编写一个Java程序,声明一个布尔型变量isTrue并赋值为true,然后输出该变量的值。
```javapublic class Main {public static void main(String[] args) {boolean isTrue = true;System.out.println(isTrue);}}```二、运算符1. 编写一个Java程序,计算两个整数的和并输出结果。
```javapublic class Main {public static void main(String[] args) {int a = 10;int b = 20;int sum = a + b;System.out.println("两个整数的和为:" + sum);}```2. 编写一个Java程序,计算两个整数的商并输出结果。
java基础(附答案)JAVA程序设计基础考试试题1、下面()是合法的Java变量名。
(多选)A _myStringB $a+bC myStringD String2、阅读下列代码,i值为()时输出结果中不包括―Test2‖。
(单选)switch(i){default: System.out.println("无匹配");case 1:System.out.println("Test1");case 2:case 3:System.out.println("Test2");break;case 4:System.out.println("Test3");break;}A. 0B. 1C. 2D. 3E. 43、下面哪些是短整型short的取值范围:A.-27——27-1B.0 ——215C.–215—— 215-1D.–231——231-14、Main()方法的返回类型是:A intB voidC booleanD static5、指出正确的表达式A.byte=128;B.Boolean=null;C.long l=0xfffL;D.double=0.9239d;6、假设val是整型变量,下面()说法不正确。
(单选)if(val > 4){System.out.println("T est A");}else if(val > 9){System.out.println("T est B");}else {System.out.println("T est C");}A.val = 0输出“Test C”B.val介于0到4 之间输出“Test C”C.val = 14输出“Test B”D.val = 5 输出“Test A”7、下面关于数据类型的描述正确的是()a) 数据类型就是数据的表现形式b) 所有数据的数据类型都是一致的c) 数据类型就是用于表示不同的数据在内存中所分配空间的大小d) 以上答案都不正确8、阅读下面代码,myMethod被调用时,正确的输出结果是()。
Java基础理论知识考试题及答案单选题1.颜色取样器工具最多可以设定几个取样点()A、一个B、两个C、三个D、四个正确答案:D2.在windows7的“资源管理器”的目录窗口中,显示着指定目录里的文件信息,其显示方式是()。
A、可以只显示文件名,也可以显示文件的部分或全部目录信息,由用户选择B、固定为显示文件的全部目录信息C、固定为显示文件的部分目录信息D、只能显示文件名正确答案:A3.如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象OA、F i1eInputStreamB、F i1eOutputStreamC、DataOutputStreamD、Fi1eWriter正确答案:A4.下面关于FIaSh导入FireWOrkS的PNG文件的说法,错误的是()A、用户可以选择作为可编辑对象或不可编辑的图像进行导入B、当作为不可编辑的图像导入时,文件将转换成位图图像对象,但是导入矢量图形除外C、作为可编辑对象导入,用户可以选择保留位于PNG文件中的图像、文本和辅助线D、作为不可编辑的图像导入PNG文件,则用户可以在FIaSh中启动Fireworks编辑该PNG图像正确答案:B5.在计算机系统中外围设备一般通过以下哪个部件与主板的系统总线相连()。
A、适配器B、存储器C、计数器D、寄存器正确答案:A6.代表非盈利组织的顶级域名是()。
A、eduB、govC、orgD>mi1正确答案:C7.如何使用仿制图章工具在图像上取样?OA、按住Shift键的同时单击取样位置来选择多个取样像素B、按住Tab键的同时单击取样位置C、按住OPtiOn(Mac)/A1t(Win)键的同时单击取样位置D、按住mand(Mac)/Ctr1(Win)键的同时单击取样位置正确答案:C8.实现虚拟存储器最关键的技术是()。
A、内存分配B、置换算法C、请求调页(段)D、对换空间管理正确答案:C9.TCP的主要功能是()。
单选题:(每道题目2分)1. 下列哪个声明是错误的?(B)A. int i=10;B. float f=1.1;C. double d=34.4;D. byte b=127;2. 下面哪个不是java中的关键字?(C)A. publicB. trueC. mainD. class3. 下面程序哪个语句是正确的CA. byte a=0,b=3; byte c =a+b;B. short s =23; s=s+12;C. short s=23; s+=12;D. float f = 23+23.23;4. 下面程序执行的结果是?(B)class Test{public static void main(String[] args){System.out.println(“”+‘a’+1);}}A. 98B. a1C. 971D. 1975. 下面程序执行的结果是?(B)int i = 100;while(true){if (i++ > 100){break;}System.out.println(i);}A. 100B. 101C. 102D. 报错6. 下面程序的运行结果是 ( D )int a=3, b=1;if(a==b){System.out.println("a="+a);}A. a=1B. a=3C. 编译错误D. 正常运行但没有输出7. 下面程序的运行后,结果正确的是:Bint a=1,b=2;int c=(a+b>3?a++:++b);A. a=2,b=3B. a=1,b=3C. a=1,b=2D. c=28. 下面程序的运行结果Bclass Demo{public static int fun(int c){return c+=2;}public static void main(String[] args) {int temp = fun(2);System.out.println(temp);}}A. 2B. 4C. 6D. 89. 下面数组定义错误的是(C)A. int [] arr ={23,45,65,78,89};B. int [] arr=new int[10] ;C. int [] arr=new int[4]{3,4,5,6};D. int [] arr={‘a’, 23 , 45 , 6};10. 下面程序执行的结果是?(D )int x =1,y=1;if(x++==2 & ++y==2){x=7;}System.out.println("x="+x+" , y="+y);A. x=1 y=2B. x=7 y=1C. x=7 y=2D. x=2 y=211. 下面不属于基本数据类型的是(D)A. intB. doubleC. longD. int[]12. 下面程序执行的结果是?( C)boolean b=true;if(b=false){System.out.println("a");}else if(b){System.out.println("b");}else if(!b){System.out.println("c");}else{System.out.println("d");}A. aB. bC. cD. d13. 下面程序执行的结果是?(D)int x=2,y=3;switch(x){default:y++;case 3:y++;case 4:y++;}Sysetem.out.println("y="+y);A. 3B. 4C. 5D. 614. 下面程序执行的结果for(int i=1;i<=10;i++){if (i%3==0){continue;}System.out.println(“java基础班”);}在屏幕上打印几次“java基础班”?( 7 )A. 5B. 6C. 7D. 815.阅读下面代码段:public class Demo{public static void main (String[] args) {int[] arr = new int[10];System.out.println(arr[1]);}}执行结果正确的说法是( C )A. 编译时将产生错误B. 编译时正确,运行时将产生错误C. 输出零D. 输出空16 .和下面代码能完成相同的选项是(B)int i=1;int sum=0;while(i<=100){if(i%2==0){sum=sum+i;}i++;}A. for (int x =1; x<=100;x++){ sum=sum+x;}B. for (int x =0; x<=100;x+=2){ sum=sum+x;}C. for (int x =1; x<=100;x+=2){ sum=sum+x;}D.上述全对17. 以下代码输出是( D )int i=0;int sum=0;while(i<=10){i++;if( i%2 !=0 )continue;sum+=i;}System.out.println(sum);A. 55B. 45C. 35D. 3018. 给出下列代码片段:if ( x > 0 ) { System.out.println(“Hello”); }else if ( x >-3 ) { System.out.pirntln ( “I am Tom”); } else { System.out.println (“How are you?”); }请问将打印字符串“How are you ?”的x的范围是(C )A. x>0B. x > -3C. x <= -3D. x <=0 & x >-319.下列代码执行的结果为( A)class Demo{public static void main(String[] args){int num = max(43,34);System.out.println(num);}public static int max(int a,int b){return a>b?a:b;}}A. 43B. 23C. 77D. 920 .下面程序执行的结果是( A)class Demo{public static void main(String [] args){int a=10;if(a++>10){a=20;}System.out.println(a);}}A. 11B. 12C. 20D. 21多选题:(每道题目3分)21. 下面哪些是合法的标志符(BCD)A. 2variableB. variable2C. what$D. _3_22. 下列函数中能和函数int max(int a, int b, double c)构成重载关系的是( BC )A. double max(int a, int b, double c)B. void max(int a, double c, int b)C. int max(double a, int b)D. int max(int x, int y, double z)23. 下面的说法正确的是( AC )A. byte ,short,char 数据类型可以自动转化为intB. float 数据类型可以自动转换为long。
Java基础知识测试(含答案)共40道选择题,每题2.5分。
多选题有错则全错,全对才满分.单选题:1.下列哪个声明是错误的?(b)A.inti=10;B.floatf=1.1;C.doubled=34.4;D.byteb=127;2.下面哪个不是java中的关键字?(c)A.publicB.trueC.mainD.cla3.下面哪个语句不会产生编译错误?(c)A.floata=2.0;B.charc=”a”;C.byteb=25;D.booleand=0;4.下面程序哪个语句是正确的cA.bytea=0,b=3;bytec=a+b;B.hort=23;=+12;C.hort=23;+=12;D.floa tf=23+23.23;5.byte类型的大小是aA.-128~127B.-228~128C.-255~256D.-255~2556.下面程序执行的结果是?(b)publicclaTet(){publictaticvoidmain(String[]arg){Sytem.out.println(“”+a+1);}}A.98B.a1C.971D.1977.下面程序执行的结果是?(b)inti=100;while(true){If(i++>100)break;Sytem.out.println(i);}A.100B.101C.102D.1038.下面程序执行的结果是?(c)inta=2;witch(a){cae1:a+=1;break;cae2:a+=2;cae3:a+=3;break;cae4:a+=4;break;default:a=0;}Sytem.out.println(a);A.5B.6C.7D.89.下面程序的运行结果是(d)inta=3,b=1;if(a==b)Sytem.out.println(\A.a=1B.a=3C.编译错误D.正常运行但没有输出10.下面程序的运行后,a,b,c的值正确的是:binta=1,b=2;intc=(a+b>3a++:++b);A.a=2,b=3B.a=1,b=3C.a=1,b=2D.c=211.下面程序的运行结果bpublicclaDemo{publictaticintfun(intc){returnc+=2;}publictaticvoidmain(String[]arg){inttemp=fun(2);Sytem.out.println(temp);}}A.2B.4C.6D.812.下面程序的运行结果,哪个是正确的bintb=1;while(++b<3)Sytem.out.println(\A.程序将会进入死循环导致无输出B.输出一次LOOPC.会输出多次LOOPD.程序中含有编译错误13.下面数组定义错误的是(d)CA.int[]arr={23,45,65,78,89};B.int[]arr=newint[10];C.int[]arr=newint[4]{3,4,5,6};D.int[]arr={a,23,45,6};14.下面程序执行的结果是?(d)int某=1,y=1;if(某++==2&++y==2){某=7;}Sytem.out.println(\,y=\A.某=1y=2B.某=7y=1C.某=7y=2D.某=2y=215.下面不属于基本数据类型的是(b)A.intB.doubleC.longD.int[]16.给出下列代码:booleana=fale;booleanb=true;booleanc=(a&&b)&&(!b);intreult=(c==fale)1:2;执行完后,c与reult 的值是(a).A.fale和1B.true和2C.true和1D.fale和217.阅读下列代码:publicclaTet{publictaticvoidmain(String[]arg){intf=12;inti=3;Sytem.out.pr intln(f/i);}}程序运行结果为(c).A.3B.3.0C.4D.4.018.下面程序执行的结果是?(c)booleanb=true;if(b=fale){Sytem.out.println(\}eleif(b){Sytem.out.println(b);}eleif(!b){Sytem.out.println(\}eleSytem.out.println(\A.aB.tru eC.cD.d19.下面程序执行的结果是?(d)int某=2,y=3;witch(某){default:y++;cae3:y++;cae4:y++;}Syetem.out.println(\A.3B.4C.5D.638.下面哪几段代码不会出现编译错误(ac)A.booleanb=true;booleanb2=true;if(b==b2){Sytem.out.println(“Sotrue”);}B.inti=0;if(i){Sytem.out.println(“Hi”);}C.inti=1;intj=2;if(i==1||j==2)Sytem.out.println(“OK”);D.in ti=1;intj=2;if(i==1&|j==2)Sytem.out.println(“OK”);39.下面关于函数描述正确的是(ad)A.函数是对功能代码块的封装B.函数没有返回值的时候什么都不用写C.没有返回值的函数,不能有return语句D.函数是可以没有形参的40.下面关于循环描述正确的是(ad)A.while循环先判断循环条件,后执行循环操作B.while至少会执行一次C.do-while先进行循环条件判断,后执行循环操作D.do-while循环至少执行一次,后进行循环判断。
1.Java中提供了名为()的包装类来包装原始字符串类型。
A.IntegerB.CharC.DoubleD.String答案:D2.ng包的()方法比较两个对象是否相等,相等返回true。
A.toString()B.equals()C.compare()D.以上所有选项都不正确答案:B3.使用()方法可以获得Calendar类的实例。
A.get()B.equals()C.getTime()D.getInstance()答案:D4.下面的集合中,()不可以存储重复元素。
A.SetB.CollectionC.MapD.List答案:C5.关于Map和List,下面说法正确的是( )。
A.Map继承ListB.List中可以保存Map或ListC.Map和List只能保存从数据库中取出的数据D.Map的value可以是List或Map答案:D6.给定如下Java代码,编译运行的结果是()。
import java.util.*;public class Test {public static void main(String[] args) { LinkedList list=new LinkedList();list.add(“A”);list.add(2,”B”);String s=(String)list.get(1);System.out.println(s);}}A.编译时发生错误B.运行时引发异常C.正确运行,输出:AD.正确运行,输出:B答案:B7.请写出下列语句的输出结果char[] data={‘a’,'b’,'c’,'d’};System.out.println(String.valueOf(10D)); System.out.println(String.valueOf(3>2)); System.out.println(String.valueOf(data,1,3)); 参考答案:10.0truebcd8.写出下面代码运行后的输出结果是。
java基础入门考试题目及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于声明一个类?A. classB. interfaceC. structD. object答案:A2. 下列哪个是Java中的保留字?A. appleB. publicC. javaD. dog答案:B3. Java中,哪个方法用于获取字符串的长度?A. length()B. size()C. count()D. length答案:A4. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D5. Java中,哪个关键字用于声明一个接口?A. classB. interfaceC. structD. object答案:B6. Java中,哪个关键字用于声明一个包?A. packageB. importC. classD. public答案:A7. Java中,哪个关键字用于实现多重继承?A. extendsB. implementsC. extends and implementsD. None of the above答案:B8. 在Java中,哪个关键字用于声明一个变量?A. varB. letC. defD. val答案:A9. Java中,哪个关键字用于声明一个常量?A. finalB. constC. staticD. var答案:A10. 在Java中,哪个关键字用于抛出一个异常?A. throwB. throwsC. catchD. try答案:B二、填空题(每题2分,共20分)1. Java是一种_________语言,它支持跨平台运行。
答案:面向对象2. Java程序的执行入口是_________方法。
答案:main3. 在Java中,所有的类都是_________类的子类。
答案:Object4. Java中,用于声明一个私有方法的关键字是_________。
java语言程序设计基础篇第八版复习题答案Java语言程序设计基础篇第八版复习题答案# 开始语复习题是检验学习效果的重要手段,以下是针对《Java语言程序设计基础篇第八版》的一些复习题答案,旨在帮助同学们巩固和检验所学知识。
# 复习题及答案1. 简述Java语言的特点。
答案:Java是一种面向对象的编程语言,具有跨平台性、安全性、健壮性、多线程等特点。
它通过Java虚拟机(JVM)实现“一次编写,到处运行”的口号。
2. 什么是面向对象编程(OOP)?答案:面向对象编程是一种编程范式,它使用“对象”来设计软件,这些对象可以包含数据(属性)和代码(方法)。
OOP的核心概念包括封装、继承和多态。
3. 解释Java中的封装、继承和多态。
答案:- 封装:隐藏对象的内部状态和实现细节,只暴露有限的操作界面。
- 继承:允许一个类(子类)继承另一个类(父类)的属性和方法。
- 多态:允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。
4. 描述Java中的基本数据类型及其范围。
答案:Java中的基本数据类型包括:- `byte`:8位有符号整数,范围从 -128 到 127。
- `short`:16位有符号整数,范围从 -32,768 到 32,767。
- `int`:32位有符号整数,默认类型,范围从 -2^31 到 2^31-1。
- `long`:64位有符号整数,范围从 -2^63 到 2^63-1,必须以 L 或l 结尾。
- `float`:32位单精度浮点数。
- `double`:64位双精度浮点数,默认浮点数类型。
- `char`:16位Unicode字符。
- `boolean`:只有两个可能的值:true 和 false。
- `void`:表示没有任何值。
5. 什么是Java的自动装箱和拆箱?答案:自动装箱是Java自动将基本数据类型转换为对应的包装类的过程,例如将`int`转换为`Integer`。
1、classpath的设置及作用:设置为set classpath=“绝对路径”。
作用是指定Java类的执行路径。
是用来寻找class文件的。
2、path的设置及作用:是内部命令。
在编译Java的时候需要用到javac命令在执行java的时候要用到java命令,这两个命令不时windows自带的命令,所以我们使用的时候要设置好环境变量,这样就可以在任何目录下使用了。
3、JA V A数据类型:基本数据类型(数值型(整型(byte.short.int.long)、浮点型(float.double))、字符型(char)、布尔型(boolean))、引用数据类型(class.数组、接口)。
4、JA V A基本运算符号:赋值运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、括号运算符。
5、JA V A程序基本控制语句:1、if (判断条件){语句1;语句2;}2、if(判断条件){语句1;}else{语句2;}3、switch(表达式){case 选择值1;语句主体1;break;case 选择值2;语句主体2;break;case 选择值3;语句主体3;break;default:语句主体;}4、for(赋初始值;判断条件;赋值增减量){语句;}5、while(判断条件){语句1;语句2;}6、do{语句1;语句2;}while(判断条件);break跳出循环。
continue跳出本次循环进入到下次循环。
6、数组的概念及使用:数组是由一组相同类型的变量所组成的数据类型,它们以一个共同的名称来表示。
格式一:数据类型数组名[]数组名=new 数据类型[个数]例:int i[]i=new int[8]格式二:数据类型数组名[]=new 数据类型[个数]例:int i=new int[8]7、方法的声明及使用:完成某一特定功能的代码块。
返回值类型方法名称(类型参数1,类型参数2){程序语句;return表达式;}8、方法的重载:在同一个类中允许同时存在一个以上的同名方法,只要他们的数据类型参数个数不同即可。
例如:public static int Test(int i,intj){return i+j;public static int Test(int x){return x++;}pubic static double Tset(double m,double n){return m+n;}public static int Test(int a,int b,int c){return a-b+c;}}在程序中Test方法被重载了4次,但每个重载了的方法所能接受参数的个数和类型不同。
9、类的定义:将具有相同属性及相同行为的一组对象称为类。
广义的讲,具有共同性质的事物的集合就称为类。
class 类名称{数据类型属性;// 声明成员变量(属性)返回值的数据类型方法名称(参数1,参数2){程序语句;return 表达式;//定义方法的内容}}例:Person.javaClass Person{String name;int age;void talk(){System.out.println("我是:"+name+",今年:"+age+"岁");}}10、对象的产生与使用:对象产生的基本形式类名对象名=new 类名()对象可以调用类中的方法访问类中的成员变量,形势为对象.属性对象.方法名()11、匿名对象:没有明确的声明对象,也可以理解为只使用一次的对象,即没有任何一个具体的对象名称引用它。
12.实现类的封装性封装了相关的成员和方法,通过访问权限来使用内部的东西。
13.构造方法的定义与使用构造方法的定义方式:class 类名称{访问权限类名称(类型1 参数1,类型2 参数2){语句;}}注意:1.构造方法的名称必须和类名一致。
2.构造方法无返回值。
例:class pig{public pig(){System.out.println(“It’s a pig.”);}}14. 对象的比较(“==”、“equals()”“==”比较的是对象所指的引用“equals()”比较的是对象。
15.在类内部调用本类方法范例:TestJavaThis1.javaclass Person{String name;int age;public Person(){System.out.println(“1.public Person()”);}public Person(String name,int age){//调用本类中无参构造方法this();16.this关键字的使用1.用来区分成员变量和局部变量.2.用来表示本类内部的构造方法.(this 必须放在构造方法中的第一行)范例:TestJavaThis.javaclass Person{private String name;private int age;public Person(String name, int age){ = name;this.age = age;}public String talk(){return “我是: ”+name+”,今年: “+age+”岁”;}}public class TestJavaThis{public static void main(String[] args){Person p = new Person(“张三”,25);System.out.println(p.talk());}}输出结果:我是:张三,今年:25岁17.构造方法的重载1.方法名字相同2.参数的类型、排列方式、个数不同例如:public static int Test(int i,intj){return i+j;public static int Test(int x){return x++;}pubic static double Tset(double m,double n){return m+n;}public static int Test(int a,int b,int c){return a-b+c;}}在程序中Test方法被重载了4次,但每个重载了的方法所能接受参数的个数和类型不同。
18.对象的引用传递例:S1=”abc”S2=”bcd”S1=S2把S2所指的引用”bcd”赋给了S1,这时S1的引用就是”bcd”。
19.static的使用(方法、属性)1、static:静态方法:1直接用类名来调用2一个静态方法可以直接调用另一静态方法调用非静态方法时用对象调用3静态方法中不能用this、super4静态方法不能调用非静态方法中的属性。
Static声明的成员变量为全局变量局部变量不能声明成static。
静态代码块是在static后加个大括号作用是给静态成员赋值。
20.对象数组的使用(静态初始化、动态初始化)1 数组是多个相同类型数据的集合,实现对这些数据的统一管理。
2 数组是引用数据类型,数组型数据是对象(object),数组的每个元素相当于该对象的成员变量。
3 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
一维数组声明一维数组的声明方式:Type var[]或type[] var;例如:int a[]; int[] a; double b[];注!Java语言中声明数组时不能指定其长度(数组中元素的个数),例如:int a[]5; //错误的正确的写法:int[] a; (数据类型数组名[];//声明一维数组a = new int[5]; 数组名= new 数据类型[个数])//分配内存给数组创建基本一维数组public class Test{public static void main(String[] args){int[] s;s = new int[10];for(int i=0;i<10;i++){s[i]=2*i+1;System.out.println(s[i]);}}}编译结果:E:\>java Test13579111315171921.类的继承通过继承可以简化类的定义,扩展类的功能。
实现继承的方法:class子类extends父类。
例:Class A{String name;int age;}Class B extends A{String school ;}public class Test{public static void main(String args[]){B s=new B( );=”周洋”;s.age=”23”;s.school=”绥化学院”;System.out.println(“姓名:”++”,年龄:”+s.age+”,学校:”+s.school);}}22.子类对象的实例化过程子类对象在实例化时会默认先去调用父类中的无参构造方法,之后再调用子类中的相应构造方法。
依次执行范例:TestPersonStudentDemol.javaclass Person{String name;Int age;//父类的构造方法public Person(){System.out.println(“1.public Person(){}”);}}class Student extends Person{String school;//子类的构造方法Public Student(){System.out.println(“2.public Student(){}”);}}public class TestPersonStudentDemol{public static void main(String[] args){Student s = new Student();}}输出结果:1.public Person(){}2.public Student(){}23.方法的覆写当一个子类继承一个父类,而子类中的方法与父类中的方法的名称,参数个数、类型完全一致时,就称子类中的这个方法覆写了父类中的方法。
特点:1、两个类存在继承关系;2、子类里写了一个方法,方法的声明与父类一致。
例如:class Person{public void test(){System.out.println(“Person”);}}class Student extends Person{public void test(){System.out.println(“Student”);}}24.super的使用super关键字出现在子类中,用super去调用父类中的有参的构造方法,所以super主要功能是完成子类调用父类的内容,也就是调用父类中的构造方法。