请从JAVA课本知识角度回答。小弟是要考试用的,老师只给了这个材料!希望大虾们帮忙!回答好再加高分!

1.Java应用程序与Applet程序的区别?2.抽象类是否能生成具体对象?其存在的意义?3.方法(或者函数)重载与覆盖的区别?4..构造方法为什么经常需要重载?5.构造... 1.Java应用程序与Applet程序的区别?
2.抽象类是否能生成具体对象?其存在的意义?
3.方法(或者函数)重载与覆盖的区别?
4..构造方法为什么经常需要重载?
5.构造函数(方法)为什么必须与类名同名?
6.为什么不能说java是严格的面向对象语言或者纯面向对象语言呢?
7.举例说明继承机制?说明继承的意义?
8.接口与抽象类的区别?
9.什么是包?java中包的意义?
10.举例说明继承机制?比较继承与封装之间的关系?
能不能再详细点啊!!老师可能是考简答题!
展开
 我来答
百度网友3638cde
2011-01-10 · TA获得超过163个赞
知道小有建树答主
回答量:77
采纳率:0%
帮助的人:91万
展开全部
1、Java应用程序与Applet程序的区别?
Java应用程序与Applet程序的区别在于运行方式的不同。答:Java Application是完整的程序,需要独立的解释器来解释运行;而Java Applet则是嵌在HTML编写的Web页面中的非独立运行程序,由Web浏览器内部包含的Java解释器来解释运行。
在源程序代码中两者的主要区别是:任何一个Java Application应用程序必须有且只有一个main方法,它是整个程序的入口方法;任何一个Applet小应用程序要求程序中有且必须有一个类是系统类Applet的子类,即该类头部分以extends Applet结尾。
2、抽象类是否能生成具体对象?其存在的意义?
不能生成具体对象。在面向对象领域,抽象类主要用来进行类型隐藏。首先,抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。其次,在抽象类的定义中,我们可以赋予方法的默认行为。使用抽象类来定义允许多个实现的类型,比使用接口有一个明显的优势:抽象类的演化比接口的演化要容易的多。在后续的发行版中,如果希望在抽象类中增加一个方法,只增加一个默认的合理的实现即可,抽象类的所有实现都自动提供了这个新的方法。对于接口,这是行不通的。虽然可以在骨架实现类中增加一方法的实现来解决部分问题,但这不能解决不从骨架实现类继承的接口实现的问题。由此,设计公有的接口要非常谨慎,一旦一个接口被公开且被广泛实现,对它进行修改将是不可能的。
3、方法(或者函数)重载与覆盖的区别?
覆盖”指的是重新定义基类的方法,使得该方法在派生类中有着不同的含义。“重载”指的是赋予方法名两个定义,解析出来有不同的参数列表。重载可以存在于任何类中, 不管定义类时是否明确指定了基类。 另一方面,如果派生类的方法拥有不同的参数数目,或者如果某个参数类型不同于基类中的地,则派生类会拥有这两个方法,这时就是“重载”。重载时也可以不涉及到基类,只要在类定义中同时给出两个方法定义即可。 相同点: 被覆盖和重载的函数的函数名必须是一样的; 不同点: 覆盖的函数的函数参数表必须和被覆盖的函数的参数表一样,重载的函数的函数参数表必须和被重载的函数的函数参数表不一样。
4、构造方法为什么经常需要重载?
构造方法是一种特殊的方法,与一般的方法不同是:1.一个构造函数是对象被创建时初始对象的成员函数。它具有和它所在的类完全一样的名字。一旦定义好一个构造函数,创建对象时就会自动调用它。它没有返回类型,甚至连void也没有。这是因为一个类的构造函数的返回值的类型就是这个类本身。2.构造方法的调用是在创建一个对象时使用new操作进行的。构造函数的任务是初始化一个对象的内部状态,所以用new操作符创建一个实例后,立刻就会得到一个清楚、可用的对象。 3.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。 构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的成员变量赋初值的专门功能:构造方法(constructor) 构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面:(1)构造方法名与类名相同. (2)构造方法不返回任何值,也没有返回类型.不能定义为void,在方法名前面不声明方法类型。(3)每个类可以有零个或多个构造方法. (4)构造方法在创建对象时自动执行,一般不能显式地直接调用. (5)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。(6)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。(7)构造方法可以重载,以参数的个数,类型,或排列顺序区分。
5、构造函数(方法)为什么必须与类名同名?
1.构造函数的命名必须和类名完全相同;在java中普通函数可以和构造函数同名,但是必须带有返回值。
2.构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择.而其他方法都有返回值.即使是void返回值,尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的.
3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它的时候被调用.
4.当定义一个类的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略,不过Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的.而一般方法不存在这一特点
5当一个类只定义了私有的构造函数,将无法通过new关键字来创建其对象,当一个类没有定义任何构造函数,C#编译器会为其自动生成一个默认的无参的构造函数。
6、为什么不能说java是严格的面向对象语言或者纯面向对象语言呢?
就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。Java的缺点公认有如下三点:(1)存在非对象的数据类型;(2)不能够用一种描述方法来表达各种类(Class);(3)无法继承2个以上的类的装配。虽然也有人认为编程语言应该是一个什么样子会因人而异,不应该算成缺点。不过,上述三点却可以导致编程人员使用混乱,降低源码的可读性及程序的可维护性。
7、举例说明继承机制?说明继承的意义?
在现实生活中的继承,可以理解为儿子继承了父亲的财产,即财产重用;面向对象程序设计中的继承,则是代码重用;继承是利用现有的类创建新类的过程,现有的类称作基类(或父类),创建的新类称作派生类(子类)。最高层是最普遍的、最一般的情况,往下每一层都比上一层更具体,并包含有高层的特征,通过这样的层次结构使下层的类能自动享用上层类的特点和性质;继承其实就是自动地共享基类中成员属性和成员方法的机制。
 在Java中实现继承需要使用到extends关键字;
 实现继承的一般语法是:
[访问修饰符] class 派生类名 extends 基类名 {
成员列表
}
实现继承示例
如:
class Student extends Person
{
……
}
class Person { //定义人类
public String mName; //姓名
public int mAge; //年龄
public void dining() { System.out.println("吃饱了..."); } //吃饭的方法
}

class Student extends Person { //学生类继承于人类
public float mGrade; //成绩
public void examination() { System.out.println("考试及格了..."); } //考试的方法
}

class Teacher extends Person { //教师类继承于人类
public float mSalary; //薪水
public void prelection() { System.out.println("上课很累..."); } //上课的方法
}

public class InheritanceDemo { //该类用于容纳main方法
public static void main(String[] args) {
Student std = new Student(); //实例化学生对象
std.mName = "张三"; std.mAge = 18; //为姓名和年龄赋值,访问的是父类中的成员
std.dining(); //调用吃饭的方法,访问的是父类中的成员
std.examination(); //调用考试方法,访问的是子类中的成员

Teacher tea = new Teacher(); //实例化教师对象
tea.mName = "谭浩强"; tea.mAge = 65;
tea.dining();
tea.prelection();
}
}
当今软件设计的特征:软件规模越来越大;软件设计者越来越多;软件设计分工越来越细。
引入继承,实现了代码重用;引入继承,实现了递增式的程序设计。继承是能自动传播代码和重用代码的有力工具;继承能够在某些比较一般的类的基础上建造、建立和扩充新类;
能减少代码和数据的重复冗余度,并通过增强一致性来减少模块间的接口和界面,从而增强了程序的可维护性;能清晰地体现出类与类之间的层次结构关系。
8、接口与抽象类的区别?
首先,abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。也许,这是Java语言的设计者在考虑Java对于多重继承的支持方面的一种折中考虑吧。

其次,在abstract class的定义中,我们可以赋予方法的默认行为。但是在interface的定义中,方法却不能拥有默认行为,为了绕过这个限制,必须使用委托,但是这会 增加一些复杂性,有时会造成很大的麻烦。
9、什么是包?java中包的意义?
简单一点就是文件夹,可以把包看作是管理类文件的文件夹,使用原因是项目越来越大,文件和类越来越多。使用包的好处也很明显:
第一 :当Java源文件多时,可以通过声明包的形式分类存放,这样有利于查找;
第二 :当有Java源文件同名时,通过使用声明包的形式存放,这样也可以不免同名冲突。
10、举例说明继承机制?比较继承与封装之间的关系?
所谓封装,就是将属性和方法捆绑到一起,封装到一个对象中去
继承,是代码重用;继承是利用现有的类创建新类的过程
乁Freedom
2011-01-09 · TA获得超过2128个赞
知道小有建树答主
回答量:1580
采纳率:0%
帮助的人:1417万
展开全部
1.applet嵌在网页中运行,java在虚拟机上运行
2.抽象类不能被实例化,所以无法生成具体对象,其存在的意义是给子类继承,并由子类实现其抽象的方法,而子类的公共方法可放在抽象父类中
3.重载的定义为,方法同名,方法的参数的数量或类型不能相同,返回类型不能作为重载的区别,覆盖为将其方法体重新写过
4.这个没有标准答案,可以说成为了提供方便的接口
5.因为实例一个对象要调用其构造方法
6.这个谁说了算?
7.
public class Father{}
public class Son extends Father{}
意义(个人理解):方便编程,结合我们现实容易理解,继承多了会使其复杂
8.
接口为纯抽象,抽象类不是
接口不能有实例属性,抽象类可以
接口的方法必须全部为抽象的,抽象类不是必须,可以有实现的方法体
子类可以实现多个接口,但只能继承一个抽象类(单继承多实现)
9.包就是文件夹(够简单吧),意义:分类管理,避免重复
10.机制在7已经说了,唉...我还真看不出来继承和封装之间有啥关系呢
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xinfei0804
2011-01-09 · TA获得超过1637个赞
知道小有建树答主
回答量:547
采纳率:0%
帮助的人:320万
展开全部
一、Java应用程序一定要有一个main()方法,作为程序的入口,没有main()方法的Java程序无法单独运行。Applet程序称为小应用程序,所有的小应用程序都需要继承Applet类,其中没有main()方法,运行时必须还要编写一个html文件,把Applet程序嵌入其中,利用html文件运行。
二、 a,抽象类不能被直接实例化,只有它的非抽象子类可以创建对象
b ,抽象类中不一定包含抽象方法,但有抽象方法的类必定是抽象类
c,抽象类中的抽象方法只是声明,不包含方法体,即不给出方法的实现构造方法、类方法不能 声明为抽象方法
d,抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类
三、1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;
2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;
3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;
4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序
2、不能通过访问权限、返回类型、抛出的异常进行重载;
3、方法的异常类型和数目不会对重载造成影响;
4、对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果
四、构造方法的作用是对对象进行初始化,通过调用重载的构造方法,可以灵活地对不同的成员变量进行赋值和初始化,当你定义的对象需要用到多少成员变量,那么在定义这个构造方法时就定义多少个对应类型的参数。另外,使用super关键字可以在一个构造方法中对另一个进行初始化。
五、构造方法的作用就是对对象进行初始化,通俗的说就是在你想用一个类创建对象时就要调用构造方法来创建,在创建的同时初始化各个成员变量。而Java中创建对象的方法是:类名 引用 = new 构造方法名();因此使用类创建对象,必须有与该类名称相同的构造方法,否则是无法创建对象的。
六、严格来说,Java不是纯面向对象的语言,因为面向对象要有三大特性,继承,封装,多态,这三大特性都是基于抽象这一基本特性的。而Java中存在九种基本数据类型(int,short,byte,long,char,double,float,enum,boolean),虽然说这些基本类型都存在自己的包装类,但从严格意义来说,他们不属于面向对象的特性,所以Java中包含这些杂质,就不算是严格的面向对象了。
七、 //这个是父类
class Father{
//父类有个方法speak
public void speak(){
System.out.println("i can speak...") ;
}
}

//子类继承父类
public class Son extends Father{
public static void main(String args[]){
Son s = new Son() ;
//子类调用父类的方法
s.speak() ;
}
}
继承最大的作用是实现代码的重用,因为子类继承了父类的非私有的方法和成员变量,既可以对其覆盖和隐藏,还可以在子类中定义新的方法,这样增加代码的灵活性和可重用性,减少了冗余,大大减少代码的长度,从而优化了代码。
八、
1 接口可以多重继承,但是抽象类不可以; 接口为了实现系统中的松偶合.

2 抽象类与子类,是父子关系; 而接口则不是,是松偶合的关系.

3 抽象类能够定义方法的实现; 接口不能包含方法的实现。

4 最大的区别是由抽象类可以派生出一些成员的实现,但接口却不包含任何成员的实现

5 如果继承一个抽象类,当你类更新时,所有的子类都会跟着更新;而接口是一成不变的,一旦发布了一个接口,永远不要再更改它

6 少量的的接口在使用中被实现

7 抽象类可以有实现的过程,而接口没有

8 抽象类可以重载

9 你只能继承一个抽象类,而接口被继承的同时还可以继承其它类和接口

10 接口:

接口可以有静态成员、嵌套类型、抽象、虚拟成员、属性和事件。实现接口的任何类都必须提供

接口中所声明的抽象成员的定义。接口可以要求任何实现类必须实现一个或多个其他接口。
九、包简单一点就是文件夹,可以把包看作是管理类文件的文件夹,使用原因是项目越来越大,文件和类越来越多。使用包的意义也很明显:

第一 :当Java源文件多时,可以通过声明包的形式分类存放,这样有利于查找;
第二 :当有Java源文件同名时,通过使用声明包的形式存放,这样也可以不免同名冲突。
十、举例已在七题做过。
继承的单位是类,继承就是类与类之间的.封装就是说把多种类型(int.String等)的对像封装在一种类型对像(FF f)中,继承必须建立父类封装的基础上,并且子类也可以有自己的封装类。封装是对其中数据成员的一种隐藏,使外界不知道类中的具体逻辑实现,只通过一种接口(方法)来实现类与类之间的数据交互。继承就是从父类中获得非私有的成员变量和方法,以实现代码的重用,从这点来看,继承和封装是冲突的,但又是相互独立的。灵活的使用继承和封装是学好面向对象的关键。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gpasb46
2011-01-10 · TA获得超过3628个赞
知道小有建树答主
回答量:1614
采纳率:100%
帮助的人:1019万
展开全部
一、入门
《Java 2从入门到精通》- 推荐
《Thinking in Java》- 强烈推荐*
O’reilly的Java编程基础系列 - 参考*

二、进阶
《Java Cook Book》- 非常推荐* (包含了Java编程的Tips,适合当做手册来查阅)
《O’reilly-Java IO》- 推荐* (包含Java IO编程的各个方面)
《O’reilly-Database Programming with JDBC》- 推荐* (JDBC编程)
《O’reilly-Java Programming with Oracle JDBC》- 参考*

三、Java Web编程
《O’reilly-Java Server Pages》- 强烈推荐*
《O’reilly-Java Servlet Programming》- 非常推荐*
《O’reilly-Jakarta Struts》- 推荐* (Java Web编程的一个MVC实现框架Struts的书)

四、EJB编程
《J2EE应用与BEA Weblogic Server》- 强烈推荐
《Mastering EJB 2.0》- 非常推荐*
《Enterprise Java Bean》- 推荐*

五、Java XML编程
《O’reilly-Java and XML》- 推荐*
《O’reilly-Java and SOAP》- 参考* (Java的SOAP编程)

六、设计模式
《Core J2EE Patterns》- 强烈推荐* (J2EE设计模式,设计企业应用软件必备参考书)
《EJB Design Patterns》- 推荐*

七、其它
《O’reilly Ant - The Definitive Guide》- 推荐* (Ant是一种功能非常强大的Java工具)

Note:
强烈推荐书籍:建议购买,重点学习
非常推荐书籍:建议花时间学习
推荐书籍:在学有余力的情况下,建议学习
参考书籍:有兴趣的情况下学习

标明*号的书籍有电子版本
可以去 看看

推荐以上书刊

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
q5543505
2011-01-09
知道答主
回答量:4
采纳率:0%
帮助的人:6639
展开全部
3.方法的重载简单的说就是参数有改变。覆盖就是方法名,参数完全一样,没有改变。重载是用于对于同一个方法有多种情况。覆盖则是在子类中出现了父类的方法。
4.因为一个类,不可能有一个构造函数。系统会位一个类自动分配一个默认的构造函数。但是,对我们有需求时,构造函数可能会有参数,因此就需要有多个构造函数。系统会根据参数自动匹配。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
caokun20061001
2011-01-11
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
上面几个都回答得很好啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cwm55520
2011-01-10
知道答主
回答量:45
采纳率:0%
帮助的人:19.8万
展开全部

嘿嘿

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式