摘要:
一、final根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 final不能用于修饰构造方法。 注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。 1.final变量: 当你在类中定义变量时,在其前面加上final关键字 阅读全文
摘要:
以下是国外JAVA与IT技术网站地址,每个都可以打开的,特此共享,希望对大家有帮助!1、http://www.onjava.com- O'Reilly的Java网站. 每周都有新文章.2、http://java.sun.com- 官方的Java开发者网站 - 每周都有新文章发表.3、http://www.developer.com/java- 由Gamelan.com 维护的Java技术文章网站.4、http://www.java.net- Sun公司维护的一个Java社区网站.5、http://www.ibm.com/developerworks/java- IBM的Develope 阅读全文
摘要:
1.继承和组合的概念在新类里简单地创建原有类的对象。我们把这种方法叫作“组合”,因为新类由现有类的对象合并而成。我们只是简单地重复利用代码的功能,而不是采用它的形式。第二种方法是创建一个新类,将其作为现有类的一个“类型”。我们可以原样采取现有类的形式,并在其中加入新代码,同时不会对现有的类产生影响。这种魔术般的行为叫作“继承”(Inheritance),涉及的大多数工作都是由编译器完成的。对于面向对象的程序设计,“继承”是最重要的基础概念之一。对于组合和继承这两种方法,大多数语法和行为都是类似的(因为它们都要根据现有的类型生成新类型)。2.组合也就是一个类的对象是另外一个类的成员,一般的程序都 阅读全文
摘要:
(本文转载自csdn)到J2SE 1.4为止,一直无法在Java程序里定义实参个数可变的方法——因为Java要求实参(Arguments)和形参(Parameters)的数量和类型都必须逐一匹配,而形参的数目是在定义方法时就已经固定下来了。尽管可以通过重载机制,为同一个方法提供带有不同数量的形参的版本,但是这仍然不能达到让实参数量任意变化的目的。然而,有些方法的语义要求它们必须能接受个数可变的实参——例如著名的main方法,就需要能接受所有的命令行参数为实参,而命令行参数的数目,事先根本无法确定下来。对于这个问题,传统上一般是采用“利用一个数组来包裹要传递的实参”的做法来应付。1. 用数组包裹 阅读全文
摘要:
1、面向对象的三大特征是?答:封装、继承、多态。2、类与对象的关系?答:类是对象的模版,对象是类的实例,类只能通过对象才可以使用。3、类的结构?怎样取得类的结构?答:结构:属性、方法(构造方法);通过反射。4、如果一个类没有被实例就直接使用,会出现什么异常?答:空指向异常。5、类属性于什么数据类型,进行引用传递时,传递的是什么东东?答:属于引用类型,传递的是堆内存的使用权。6、类被封装的属性,只能通过什么方法调用?有什么规矩?答:只能通过setter和getter方法。7、构造方法的特点、作用是什么?我的易错点?答:只要是类则必定存在构造方法,它没有声明构造方法会在编译时自动生成无参、什么都不 阅读全文
摘要:
1,抽象,封装,继承,多态是面向对象程序设计中得四个特点. 2,面向对象得软件开发大体分为:面向对象的分析,面向对象的设计,面向对象的实现. 可概括为如下过程:分析用户需求,从问题中抽取对象模型;细化模型,设计类,包括类的属性和类间的 相互关系,同时观察是否有可以直接引用的已有类或部件;选定一种面向对象的编程语言,具体编码实现 上一阶段类的设计,并在开发过程中引入测试,完善整个解决方案. 3,面向对象程序设计方法的优点是:可重用性,可扩展性,可管理性. 4,类的定义:class前的修饰符分为访问控制符和非访问控制符两大类.访问控制符包括public和private. 非访问控制符... 阅读全文
摘要:
面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程。 众所周知,Java编程最基本的原则就是要追求高内聚和低耦合的解决方案和代码模块设计。查看Apache和Sun的开放源代码能帮助你发现其他Java设计原则在这些代码中的实际运用。Java Devel 阅读全文
摘要:
一、Java数组初始化 Java数组是静态的,即当数组被初始化之后,该数组的长度是不可变的。Java数组使用之前必须先对数组对象进行初始化,所谓初始化,就是为数组的所有元素分配内存空间,并为每个数组元素指定初始值。(文章来源于李刚老师的《突破java程序员的16课》)1:基本类型数组的两种初始化方式静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度。动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值。 不要同时使用静态初始化和动态初始化,也就是说,不要在进行数组初始化时,既指定数组的长度,也为每个数组元素分配初始值。Java的数组是静态... 阅读全文
摘要:
有人说Java是编译型的。因为所有的Java代码都是要编译的,.java不经过编译就无法执行。 也有人说Java是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释型的。对于C和C++,它们经过一次编译之后,可以由操作系统直接执行,所以它们是编译型语言。而Java不一样,它首先由编译器编译成.class(字节码)文件,然后在通过JVM从.class文件中读一行解释执行一行,所以它是解释型的语言。也正是由于java对于多种不同的操作系统有不同的JVM,所以实现了真正意义上的跨平台。(1)Java语言的编译-->解释-->运行过程(2)JVM到这里,大 阅读全文