




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、简述Java实现可移值性的基本原理。 答:Java属于编译型和解释型的编程语言,所有的*.java程序必须编译为*.class文件之后才可以在电脑上执行,而执行*.class文件的电脑并不是一台真实的电脑,而是利用软件和硬件模拟出来的一台虚拟电脑,称为Java虚拟机,而针对于不同的操作系统平台,有不同版本的Java虚拟机,即:由Java虚拟机去适应不同的操作系统,即:只要Java虚拟机的支持没有改变,同一个*.class可以在不同的平台上运行。 2、 简述Java语言的三个程序分支。 答: JAVA SE(Java标准版):提供基础的Java类库及平台支持: JAVA ME(Java微型版):提供嵌入式开发支持: JAVA EE(Java企业版):提供企业平台支持。 3、 简述Java中path及classpath的作用。 CLASSPATH:是所有*.class文件的执行路径,java命令执行的时候将利用此路径加载所需要的*.class文件。 4、 简述Java语言的主要特点。 答: Java语言的主要的特点如下: 1、 Java语言是一门面向对象语言,且语法足够简单; 2、 Java避免了C/C+之中复杂的指针关系,而使用了更为简单的引用方式来进行内存传递; 3、 Java是为数不多的支持多线程开发的编程语言; 4、 Java提供了自动的垃圾收集机制,可以定期释放出无用的垃圾空间; 5、 Java语言的安全性较高; 6、 Java最大的特点是具备可移植性,即:同一个程序在不同的操作系统上都可以运行。 5、 详细阐述Java中使用public class或class声明一个类的区别及注意事项。 答: 使用public class定义的类,要求文件名称和类名称保持一致,在一个*.java文件之中只能存在一个public class; 使用class定义的类,文件名称可以和类名称不一致,在一个*.java文件之中可以同时存在多个class定义,编译之后会产生多个*.class文件。1、 请解释常量与变量的区别? 答: 常量就是一个固定的数值。是不可改变的,例如:数字1、2就是一个整型的常量。 变量是利用声明的方式,将内存中的某个内存块保留下来以供程序使用。可以声明的数据类型为整型、字符型、浮点型或是其他数据类型,作为变量的保存之用。变量在程序语言中扮演了最基本的角色。变量可以用来存放数据,而使用变量之前必须先声明它的数据类型。 2、 解释方法重载的概念,并举例说明。 答: 方法重载指的是多个方法的方法名称相同,但是方法中的参数类型及个数不同。 代码说明: public static int add(int x, int y) return x + y; public static int add(int x, int y, int z) return x + y + z; public static double add(double x, double y) return x + y; 1、 String类的操作特点。 答: String类的对象有两种实例化方式: |- 方式一:直接赋值,只开辟一块堆内存空间,并且对象可以入池; |- 方式二:构造方法,开辟两块堆内存空间,有一块将称为垃圾,不会自动入池,使用intern()方法手工入池; String对象的比较方法: |- =:比较的是两个字符串对象的内存地址数值; |- equals():字符串内容比较; 字符串对象一旦声明,则内容不可改变,改变的只能是字符串对象的地址指向。 2、 简述垃圾对象的产生。 答: 垃圾指的是一块无用的引用内存,当将变量设置为null或者长时间不使用时,就将成为垃圾。 3、 static方法如何调用?非static方法如何调用? 答: static方法可以使用类名称或实例化对象调用,而非static方法只能依靠实例化对象才可以调用。 4、 类与对象的关系是什么?如何创建及使用对象? 答: 类规定了对象所具有的属性及行为(方法),类只有通过产生对象才可以分配属性或者是调用方法,对象的创建依靠关键字new创建。 5、 举例说明子类对象的实例化过程。 答: 当通过关键字new实例化子类对象时,会默认调用父类的无参构造方法,为父类对象实例化,而后才会调用子类的构造方法,为子类对象实例化。 7、 简述this与super关键字的区别。 答: this和super都可以调用类中的属性、方法、构造方法,但是this调用的是本类操作,而super是由子类调用父类操作。 8、 简述方法的重载与覆写的区别。 答: 方法重载是发生在一个类之中,方法名称相同、参数的类型及个数不同,不受权限的限制。而覆写是发生在继承关系之中,子类定义了和父类定义了方法名称相同、参数类型及个数、返回值类型完全相同的方法时所发生的操作,在子类覆写父类方法时,被覆写的方法不能拥有比父类更严格的访问权限。 9、 在已有类的基础上派生新的类有什么好处? 答: 扩充已有类的功能,并且利用方法的覆写扩充已有方法的功能。 10、 如何区分子类和父类?子类可以继承父类的那些内容? 答: 子类使用extends继承父类或使用implements实现多个接口,子类可以继承父类中的全部内容,但是对于私有操作属于隐式继承,而非私有操作属于显式继承。 11、 什么是多态?实现都态的方法有那些? 答: 多态是面向对象的最后一个主要特征,它本身主要分为两个方面: 方法的多态性:重载与覆写 |- 重载:同一个方法名称,根据不同的参数类型及个数可以完成不同的功能; |- 覆写:同一个方法,根据操作的子类不同,所完成的功能也不同。 对象的多态性:父子类对象的转换。 |- 向上转型:子类对象变为父类对象,格式:父类 父类对象 = 子类实例,自动; |- 向下转型:父类对象变为子类对象,格式:子类 子类对象 = (子类) 父类实例,强制; 12、 接口有那些特征?如何定义和实现接口。 答: 接口之中全部由全局常量及抽象方法所组成,一个类可以同时实现多个接口,在Java中使用interface定义接口,子类使用implements实现接口。 13、 接口和抽象类有那些区别? 答: 抽象类及接口区别如下。 No. 区别 抽象类 接口 1 定义 关键字 abstract class interface 2 组成 常量、变量、抽象方法、普通方法、构造方法 全局常量、抽象方法 3 权限 可以使用各种权限 只能是public 4 关系 一个抽象类可以实现多个接口 接口不能够继承抽象类,却可以继承多接口 5 使用 子类使用extends继承抽象类 子类使用implements实现接口 抽象类和接口的对象都是利用对象多态性的向上转型,进行接口或抽象类的实例化操作 6 设计模式 模板设计模式 工厂设计模式、代理设计模式 7 局限 一个子类只能够继承一个抽象类 一个子类可以实现多个接口 14、 简述基本数据类型的自动装箱及自动拆箱操作。 答: 在JDK 1.5之后,基本数据类型可以采用直接赋值的方式为包装类进行对象的实例化操作,而包装类的对象也可以通过直接赋值的方式变回基本数据类型。1、 简述包的作用及使用。 答: 使用包可以将功能近似的类统一管理,同时可以避免项目之中同名类名称冲突问题; 2、 简述Java的四种访问权限的区别。 答: Java一共有四种访问控制权限: private:只可以在一个类中访问,其他类不允许访问; default:可以在一个包中访问,但是不同包不允许访问; protected:可以在同一个包中和不同包的子类所访问,其他包的类不允许访问; public:可以被所有包的类所访问。1、 简述泛型的作用 答: 泛型的主要作用是解决对象向下转型所带来的ClassCastException,使用泛型之后,类之中的属性或方法中的参数类型就由调用处来决定,而如果调用处不设置泛型,为了保证程序不出错,则会使用Object类型进行定义。 2、 简述枚举的作用及实现特点。 答: 枚举定义出了一个类所能使用的若干几个实例化对象,枚举可以直接采用“枚举类型.对象”的方式取得类中的实例化对象进行操作。 3、 简述JAVA SE中三个内建的Annotation的作用。 答: 在JAVA SE之中定义了三种Annotation: Override:准确的方法覆写; Deprecated:某个结构(类、方法、属性)不再建议被用户所使用; SuppressWarnings:压制编译时所产生的警告信息。5、 线程在生命周期中要经历五种状态,分别是: 创建 状态、 就绪 状态、 运行 状态、 堵塞 状态、销毁 6、 Object类提供的状态 wait() 、 notify() 、 notifyAll() 三个方法可以控制线程。1、 简述线程两种实现方式及区别? 答: 多线程的两种实现方式都需要一个线程的主类,而这个类可以实现Runnable接口或继承Thread类,不管使用何种方式都必须在子类之中覆写run()方法,此方法为线程的主方法; Thread类是Runnable接口的子类,而且使用Runnable接口可以避免单继承局限,以及更加方便的实现数据共享的概念。 2、 简述死锁的产生。 答: 当多个线程访问某一共享资源时,为保证数据的正确性,需要使用同步进行控制,线程同步指的是某一线程要等待其他线程对象操作完成之后才可以进行操作,但是在程序之中过多的线程等待就会出现死锁。1、 打印出1001000范围内的所有 “水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方5的三次方3的三次方。 public class TestDemo public static void main(String args) int i, j, k; for (int x = 100; x 1000; x+) i = x / 100; / 计算百位数字 j = (x / 10) % 10; / 计算十位数字 k = x % 10; / 计算个位数字 if (x = i * i * i + j * j * j + k * k * k) System.out.print(x + 、); 2、 通过代码完成两个整数内容的交换。 实现一:引用第三方变量 public class TestDemo public static void main(String args) int x = 10; int y = 20; int temp = x; x = y; y = temp; System.out.println(x = + x); System.out.println(y = + y); 1、 编写并测试一个代表地址的Address类,地址信息由:国家,省份,城市,街道,邮编组成,并可以返回完整的地址信息。 class Address private String national; private String provincial; private String city; private String street; private String zipcode; public Address() public Address(String national, String provincial, String city, String street, String zipcode) super(); this.national = national; vincial = provincial; this.city = city; this.street = street; this.zipcode = zipcode; public String toString() return 国家: + this.national + ,省份: + vincial + ,城市: + this.city + ,街道: + this.street + ,邮政编码: + this.zipcode; / setter、getter略 public class TestDemo public static void main(String args) Address ad = new Address(中国, 北京, 北京市, MLDN, 100088); System.out.println(ad); 2、 定义并测试一个代表员工的Employee类。员工属性包括“编号”、“姓名”、“基本薪水”、“薪水增长额”;还包括 “计算增长后的工资总额”。的操作方法。 class Employee private int empno ; / 雇员编号 private String ename ; / 雇员姓名 private double sal ; / 基本工资 private double rate ; / 工资增长额 public Employee() public Employee(int empno, String ename, double sal, double rate) super(); this.empno = empno; this.ename = ename; this.sal = sal; this.rate = rate; public String toString() return 雇员编号: + this.empno + ,雇员姓名: + this.ename + ,基本工资: + this.sal ; public void growthin() / 增长薪水 this.sal = this.sal * this.rate ; / setter、getter略 public class TestDemo public static void main(String args) Employee emp = new Employee(7369, SMITH, 1000, 1.5); emp.growthin() ; / 工资增长 System.out.println(emp); 5、 字符串操作: 从字符串“MLDN中心Java技术学习班20130214”中提取开班日期。 public class TestDemo public static void main(String args) String str = MLDN中心Java技术学习班20130214 ; System.out.println(str.substring(str.indexOf(20130214); 程序运行结果: 20130214 将“MLDN JAVA高端技术培训”字符串中的“Java”替换为“JAVA EE”。 public class TestDemo public static void main(String args) String str = MLDN JAVA高端技术培训 ; System.out.println(str.replaceAll(Java.toUpperCase(), JAVA EE); 程序运行结果: MLDN JAVA EE高端技术培训 取出“Java技术学习班20130214”中的第八个字符。 public class TestDemo public static void main(String args) String str = Java技术学习班20130214 ; System.out.println(str.charAt(8); 程序运行结果: 班 清除“Java技术学习班20130214”中的所有0。 public class TestDemo public static void main(String args) String str = Java技术学习班20130214 ; System.out.println(str.replaceAll(0, ); 程序运行结果: Java技术学习班213214 从任意给定的身份证号码中提取此人的出生日期。 public class TestDemo public static void main(String args) String str = 1101051976091900520 ; System.out.println(str.substring(6,14); 8、 建立一个人类(Person)和学生类(Student)功能要求: A、 Person中包含4个保护型的数据成员name、address、sex、age分别为字符串,字符串,字符及整型。表示:姓名、地址、性别和年龄。一个四参构造方法,一个无参构造方法,及一个输出方法用于显示四种属性。 B、 Student继承Person,并增加输出成员math、english存放数学和英语成绩。一个六参构造方法,一个两参构造方法,一个无参构造方法,重写输出方法用于显示全部六种种属性. class Person private String name ; private String address ; private char sex ; private int age ; public Person() public Person(String name, String address, char sex, int age) super(); = name; this.address = address; this.sex = sex; this.age = age; public String toString() return 姓名: + + ,地址: + this.address + ,性别: + this.sex + ,年龄: + this.age; / setter、getter略 class Student extends Person private double math ; private double english ; public Student() public Student(String name, String address, char sex, int age, double math, double english) super(name, address, sex, age); this.math = ma
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市委书记在全市经济形势分析会上的讲话
- 心中之魂800字12篇
- 舒克和贝塔航空公司读后感450字12篇
- 纤维环保技术创新路径报告
- 定制服务市场渗透率分析报告
- 植保无人机系统效率研究分析报告
- 2025年湖南省岳阳市笔试辅警协警预测试题(含答案)
- 2025年数字艺术展览多媒体展示技术对观众情感体验的塑造
- 新能源汽车制造电机电控技术布局与发展趋势报告2025
- 2025年康复医疗器械市场潜力挖掘与产品创新应用案例报告
- 《人工智能概论-面向通识课程》全套教学课件
- 三区人才面试题及答案大全
- 物业服务礼仪培训大纲
- 2025年舞台灯光设备项目市场调查研究报告
- 防火钢质门、卷帘门项目可行性研究报告-商业计划书
- 2024年云南师范大学辅导员考试真题
- 普查保密协议书
- 《初学者指南:美术基础课件》
- 冶金矿山采矿设计规范
- 配送车辆违章管理制度
- 2024-2025学年北师大版一年级数学上册全册教案
评论
0/150
提交评论