有几道JAVA相关的问题,希望高手来答奖赏100分

java面对对象的三大特点()()()。什么是抽象方法,有什么特点。和接口有什麽区别!什么是重写,什么是重载,他们有什麽区别。String和equals()如何应用,什么... java面对对象的三大特点()()()。
什么是抽象方法,有什么特点。和接口有什麽区别!
什么是重写,什么是重载,他们有什麽区别。
String和equals()如何应用,什么情况下重写他们的方法。
写一个控制台输入一串字符串反向输出。

输入一个圆形或者正方形,计算其周长和面积,同时统计输入过的图形的总周长和总面积.
输入一个奇数m,m即为行数也为列数,例m为5,输出一下图形
* * * * *
# * * * #
# # * # #
# * * * #
* * * * *
展开
 我来答
tech_java
2009-05-31 · TA获得超过567个赞
知道小有建树答主
回答量:186
采纳率:100%
帮助的人:0
展开全部
1、继承、抽象、多态
2、抽象方法与抽象的行为相对应,通常是这个行为对父对象没有意义,而子对象有具体动作。例如方法draw()对于类Shape没有意义,而类Shape的子类矩形(Rectangle)的方法draw()可以有实际的动作(根据矩形的四个顶点画出矩形的四个边),子类圆(Circle)的方法draw()也可以有实际的动作(根据圆心和半径画出圆周)。抽象方法还有一个特点是,它强迫子类要么仍然保持抽象性(即不具体实现该方法并仍然定义为抽象类),要么具体表现出这个方法的行为(实现具体的动作或者通过抛出UnsupportedOperationException异常来表明不支持该行为)。这样也可以强化多态性。接口和抽象类的不同点有:
(1)抽象类可以有实例变量,而接口不能拥有实例变量,接口中的变量都是静态(static)的常量(final)。
(2)抽象类可以有非抽象方法,而接口只能有抽象方法。
3、重载(Overloading)
(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时
存在,具有不同的参数个数/类型。重载Overloading是一个类中多态性的一种表现。
(2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具
有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型
来决定具体使用哪个方法, 这就是多态性。
(3) 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同
重写(Overriding)
(1) 父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某

方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。在Java中,
子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不
动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又
称方法覆盖。
(2) 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,
则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键
字引用了当前类的父类。
(3) 子类函数的访问修饰权限不能少于父类的;
4、 String string1 = "I love cina!";
String string2 = new String("I love cina!");
if(string1.equals(string2))
{
System.out.println("They are have the same content!");
}
5、 String start = new String("12345");
String end = "";
for(int i = start.length()-1;i>=0;i--)
{
end = end+start.charAt(i);
}
cangyinglzt
2009-05-31 · 超过30用户采纳过TA的回答
知道答主
回答量:124
采纳率:100%
帮助的人:69.1万
展开全部
java面对对象的三大特点(封装)(继承)(多态)。

什么是抽象方法,有什么特点。和接口有什麽区别!
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

什么是重写,什么是重载,他们有什麽区别。
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。

String和equals()如何应用,什么情况下重写他们的方法。
String类中重写了equals()方法,只要两个字符串的内容相同,就返回true;你可以写自己的equals()方法,用来实现自己需要的比较规则

写一个控制台输入一串字符串反向输出。
public static void main(String[] args) {
// TODO Auto-generated method stub

String string="abcdefg";
StringBuffer string2=new StringBuffer(string);
String string3 = string2.reverse().toString();
System.out.println(string3);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
KYKISTE
2009-05-31 · TA获得超过386个赞
知道答主
回答量:37
采纳率:0%
帮助的人:58万
展开全部
前面5道题已经有人回答了,我做下6,7道题,算法写得不是很好,希望各位多多指教

第7题

public static void main(String[] args){
int m=Integer.parseInt(args[0]);
int n=m/2+1;
int t=2*n-2;
int o=1;

for(int i=1;i<=m;i++){
if(i%n==0) o=-o;
int u=t-(n-i)*2*o;
for(int a=0;a<u/2;a++) System.out.print("#");
for(int b=0;b<m-u;b++) System.out.print("*");
for(int a=0;a<u/2;a++) System.out.print("#");
System.out.println();
}
}

Eclipse 3.4.1+jdk1.6.0下调试通过

算法说明:

先看输入奇数5的图形:
1.

*****
#***#
##*##
#***#
*****

再看输入奇数7时的图形:
2.
*******
#*****#
##***##
###*###
##***##
#*****#
*******

我们可以发现:
图1,每行"#"的数量分别为0,2,4,2,0
图2,每行"#"的数量分别为0,2,4,6,4,2,0

上述的数列是不是有点像以0为首项,2为公差的等差数列呢?

上述2个数列在中项前为递增数列,中项后为递减数列,于是如何根据任意奇数x求出对应数列的中项对于解决本问题就变得至关重要了(因为由中项我们可以判断何时该增,何时该减)

要求出中项很简单,它在数值上等于2*(x/2+1)-2,其中"/"为求商运算,x/2+1为x的中间数(x=5,它就是3,x=7,它就是4)

有了中间项整个问题就变的简单了,我们可以使循环在未跨过中间数前是数列为递增,之后为递减,程序中可以用1的正负来达到该目的,即程序中的0=-1;跨过中间数后将其变为负数o=-o;而if(i%n==0)是用来判断循环变量是否达到中间数的。

然后u代表每一行"#"的总数.那么每一行头与尾的"#"数量就为u/2

第6题很简单,再把它也写出来的话就是真的是害了你了,编程要想编好必须得多写,多思考,不然就真什么也学不到

不过在这我可以在这说一下我的解决思路,希望对你有帮助

首先你应该明确题目所说的输入一个正方形,圆指的是什么,是类还是基本数据类型,前者的话你必须至少设计3个类1个接口,圆类,长方形类和一个用于计算面积,周长,存储图形的类(暂时称为"图形处理类"),图形类含有个图形的基本属性(比如:圆类里必须定义圆周率常量,圆半径,长方形类里必须定义长宽等)并实现图形接口,图形接口(有一些基本图形操作方法声明,包括面积计算方法,周长计算方法等),图形处理类可以接收图形接口类的对象,委托调用各图形的面积,周长计算方法,然后别忘了在图形处理类中定义一个LinkedList(java.util包里,用法请参照jdk1.5API或以上的帮助文档)用于存储加入过的图形

将图形当做类处理的方法大致思路就是这样的,有一部分细节没说,你在编写过程应该能自己发现

将图形当做基本数据类型处理的解决方法和上面大致相同,注意重载构造方法,1个参数的对应于圆,2个参数的对应于长方形

基本就这么多,最后祝LZ学有所成(慌忙之中写下的,如有不对的地方请指正,觉得有帮助的就顶下,谢谢)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f8644d4
2009-05-31 · TA获得超过589个赞
知道答主
回答量:125
采纳率:0%
帮助的人:96.7万
展开全部
分数和问题不搭配
分数太高了,而问题太简单了!
别人已经回答了!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f384c78
2009-05-31 · TA获得超过2070个赞
知道小有建树答主
回答量:538
采纳率:0%
帮助的人:762万
展开全部
1. 继承、抽象、多态
2. 只有方法定义,但没有方法体的方法叫抽象方法。抽象方法必须被子类重写后才能使用。接口只能包含静态常量域与抽象方法。
3. 重写是一种继承关系导致的行为:如果子类与父类中的某个方法定义相同(方法名和参数都相同),则称为子类的该方法重写了父类方法;重载是指方法名相同,但参数不同的方法。
4. String的equals方法用于比较两个字符串是否具有相同的内容。equals方法和==的最大区别在于equals比较的是内容而==比较的是地址,地址相同内容肯定相同,但反之则不一定。多数情况下,比较字符串时,是想确定两个字符串是否有相同的内容,因此多数使用equals方法而不是==。
在自定义的类中,如果想提供针对该类对象内容的相等性比较,则需要重写Object的equals方法。

5. 从运行程序的命令行参数中接收字符串,以下是main方法的内容,其它略:
public static void main(String[] args) {
// 首先判断有没有输入字符串
if (args.length == 0) {
System.out.println("请输入一个字符串");
return;
}

// 开始逆序输出
System.out.println(new StringBuilder(args[0]).reverse());

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式