Java学习之路_0002语言基础
2014-04-27 22:30
344 查看
这个周末比较忙,复习的进度很缓慢。今天的复习内容如下:
/******************************************************************************************************************************/
/**********************************************************************************************************************************/
练习:
第2题:
第3题:
1.循环体前面可以带标志吗?如何标志? |
2.函数重载需要返回值类型可以不同吗? |
3.int[][] arr=new int[3][];此时arr[0]的值是?如果继续执行arr[0]=new int[3]后呢? |
4.面向对象特征? |
5.关键字this表示当前对象的变量,那么super呢? |
6.JVM申请的内存从逻辑上分为哪几个区域,默认大小是多大? |
7.JVM调用主函数时传入了什么参数? |
8.如果一个类中所有方法都是静态的,也没有私有数据,如何防止该类被实例化? |
9.如何用javadoc工具生成说明书? |
10.默认构造函数的权限和所属类的权限一致吗? |
11.内存中类的实例化过程是怎样的? |
12.如果子类跟父类存在返回自身对象的引用,子类跟父类返回类型有何不同? |
13.子类如何覆盖父类的静态方法?子类能调用父类的静态方法吗? |
14.不覆盖父类方法,子类可以用父类的方法访问自身的成员吗? |
15.final修饰类、方法、变量的作用? |
16.abstract方法只能放在抽象类中吗?抽象类中可以有非抽象方法吗? |
17.抽象类跟接口有什么区别? |
18.class Test extends Demo implements Inter,InterA 是什么意思? |
19.类的修饰符有多少种?它们的含义是什么? |
20.方法的修饰符有多少种?它们的含义是什么? |
21.多态的前提是什么?多态中成员变量的特点? |
练习: |
2.请用程序实现普通排序和冒泡排序 |
3.JAVA的23种设计模式之一:定义单例的方式——饿汉式和懒汉式,请写出这两个类 |
1.可以。比如 w:while() break w; |
2.可以。参数列表不同即可。 |
3.null,引用 |
4.封装、继承、多态 |
5.super不是表示对象,他是语法糖,指向子类对象中的父类成分 |
6.方法区(共享区、数据区)64M,堆64M,栈1M |
7.String args[0] |
8.将默认构造函数定义为私有成员 |
9.javadoc -d 文档存放目录 -author -version 源文件名.java |
10.是 |
11.加载类>静态代码块>在堆内存中分配空间并对对象属性初始化>构造代码块>构造函数 |
12.子类返回子类对象引用,父类返回父类对象引用 |
13.父类的静态方法只能被子类的静态方法覆盖,子类能调用父类静态方法。 |
14.不可以。 |
15.修饰类,类不可被继承;修饰方法,方法不可被覆盖;修饰变量,则为常量 |
16.是;可以,除了不能被实例化,它跟其他类一样。 |
17.如果父类为抽象类,子类必须覆盖父类的所有抽象方法,抽象类中可以有非抽象方法跟变量; |
接口中所有方法都为抽象,成员变量必须以publicstatic final修饰,不显式修饰,也会自动补 |
上。类不可以被多继承,但是接口可以被多实现。 |
18.Test类继承于Demo并实现了Inter和InterA接口 |
19.4种。public:在所有类中可见,在其他包中可以用import导入;final:终态类,表示该类 |
不能被继承;abstract:抽象类;缺省:在同一个包中可见,在其他包中不可以用import导入 |
20.9种。(1)可见性:public:在任何类中可见;protected:在子类或同一个包中可见; |
private:只在本类中可见;缺省:在同一个包中可见,子类若不在同一个包中,子类也不可见; |
(2)其他:static、final、abstract、native、synchronized |
21.继承或实现、方法覆盖(覆盖的前提是父类的方法对子类可见)。多态中成员变量的特点: |
无论编译和运行,都参考左边,即引用类型 |
练习:
第2题:
package com.itheima.day02; /** *练习题2:请用程序实现普通排序和冒泡排序<br> *<code>ArrayManager</code>类用于对数组进行操作,该类功能如下:<br> *1.对数组进行普通排序<br> *2.对数组进行冒泡排序<br> *@author R */ public class ArrayManager { /** *实现对整型数组从小到大的普通排序. *@param array 整型数组 */ public static void sort(int[] array) { int exchange; for(int n=1;n<array.length;n++) for(int m=n;m<array.length;m++) if(array[n-1]>array[m]) { exchange=array[n-1]; array[n-1]=array[m]; array[m]=exchange; } } /** *实现对整型数组从小到大的冒泡排序. *@param array 整型数组 */ public static void bubbleSort(int[] array) { for(int n=1;n<array.length;n++) for(int m=1;m<array.length;m++) if(array[m-1]>array[m]) { array[m-1]=array[m-1]^array[m]; array[m]=array[m-1]^array[m]; array[m-1]=array[m-1]^array[m]; } } }
package com.itheima; import com.itheima.day02.ArrayManager; import java.util.Arrays; /** *<code>Master</code>类为主程序所在类 *@author R *@version Version 201402 */ public class ArraySortDemo { public static void main(String[] args) { int[] array={10,8,27,3,36,5,88,2,27,90,9}; int[] array2=Arrays.copyOf(array,array.length); sop("原数组:"+Arrays.toString(array)); ArrayManager.sort(array); sop("普通排序后:"+Arrays.toString(array)); ArrayManager.bubbleSort(array2); sop("冒泡排序后:"+Arrays.toString(array2)); } public static void sop(Object obj) { System.out.println(obj); } }
第3题:
package com.itheima.day02; /** *练习3:JAVA的23种设计模式之一:定义单例的方式——饿汉式和懒汉式,请写出这两个类<br> *<code>LazySingleton</code>类用于演示单例模式中的懒汉式 *@author R */ public class LazySingleton { private static LazySingleton laz; private LazySingleton(){}; public static LazySingleton getSingleton() { if(laz==null) synchronized(LazySingleton.class) { if(laz==null) laz=new LazySingleton(); } return laz; } public String toString() { return "This is a LazySingleton."; } }
package com.itheima; import com.itheima.day02.*; /** *该类用于演示单例设计模式中的饿汉式和懒汉式。 */ public class SingletonDemo { public static void main(String[] args) { HungrySingleton hun=HungrySingleton.getSingleton(); sop(hun); LazySingleton laz=LazySingleton.getSingleton(); sop(laz); } public static void sop(Object obj) { System.out.println(obj); } }
相关文章推荐
- java语言学习之路之基础常识之java语言特点、开发工具、配置环境变量以及编译工具。
- java语言学习之路之基础常识
- java语言学习之路之基础常识之java语言特点、开发工具、配置环境变量以及编译工具。
- Java基础知识学习之路-02-第一章-Java语言概述与开发环境
- java语言学习之路之基础常识
- 从Android/Java基础之上学习C/C++语言(8)--C语言基础--预编译
- java学习之路--基础
- j2ee学习之路--从java基础起步
- java语言学习连载(二)--Java语言基础
- Java学习笔记02——Java语言基础
- 8个简单部分开启Java语言学习之路 附java学习书单
- Java基础知识学习之路-04-第三章-数据类型和运算符
- java学习笔记3--java语言基础
- Java2核心技术第七版的学习笔记(三) Fundamental Programming Structures in Java(Java语言的基础)(一)
- Java学习笔记之语言基础――Java中的参数传递
- java软件工程师培训学习日记------java语言核心基础之面向对象编程
- Java学习笔记(一、Java语言基础)
- java学习笔记(2)--java语言基础
- Java 语言学习资源和基础
- 从Android/Java基础之上学习C/C++语言(1)--C语言基础--基本数据类型