健健的编程艰辛路(01)
第一次用notepad++编写Java,以前一直用eclipse编写,后来发现用着用着就有些依赖了,比如写输出语句,就直接用快捷键“ALT+/”;然后这样挺方便的,所以用着用着差点就忘记输出语句的单词了所以新手还是用notepad++编写,这样更容易记住编写的单词,对我来说,英语真的难,所以那些输出语句都是硬生生记下来。可怕,本人也是刚刚入编程的小萌新,如果下文有啥不对的地方,恳请大佬指正,小萌新一定改。本人写文章只是用来记录本人的编程的一些经历。话不多说,准备上。
本次题目是实现求面积方法area()的两次重载;
- 刚开始上机课,本人用普通方法进行重写,也就是定义一个普通方法,然后用extends关键字进行继承。这样编写虽然没有问题,但是严格来说不行。所以今天用抽象的方法来做。
- 在做的时候,遇到了好多问题,没关系,咋就怕他不出现问题,有问题就可以知道自己的不足。
- 刚开始,出现的问题是编码GBK的不可映射字符,这个咋直接找度娘,然后发现是编码的问题,这个notepad++编码是UTF—8,然后去百度,把编码改成ANSI,这样就可以输出中文了。
- 改后,咋继续执行,得,这次错误更加多,头疼,都想放弃了。
- 莫慌,咋一个一个来,第一个错误是A是公用的,来,咋就把public去掉看看。第二个错误是权限错误,经过分析,还要加上public就可以。第三个,说实话,我也不知道为什么不可以,索性就改成了整数。第四个错误是找不到符号,其实是我漏写了一个()。差不多解决了,咋在一编译,发现没有错误,OK。
- 到激动人心的时候了,一执行,问题来喽。
- 完蛋,然道又不行吗?咋们在进入路径看看,发现出现了4个class文件,才发现要单独执行,执行Java A。看看有没有出。
- 好了,咋就到这里,最后,拿出代码,只是最基本的代码,大佬勿喷,小萌新还在学习之中。
abstract class mj{
public abstract double area();
}
class mj1 extends mj{
double widte,height;
mj1(double widte,double height){
this.widte=widte;
this.height=height;
}
public double area(){
return widte*height;
}
}
class mj2 extends mj{
double r,m=3;
mj2(double r){
this.r=r;
}
public double area(){
return r*r*m;
}
}
class A{
public static void main(String args[]){
mj1 one=new mj1(3,5);
mj2 two=new mj2(6);
System.out.println("正方形面积是:"+one.area());
System.out.println("圆的面积是:"+two.area());
}
}
到这里就结束了,未完待续。