java继承初理解

#继承初理解
先看一段代码

package wzx;
import java.util.Scanner;
 class goods{               //定义了一个父类
     String name;
     int number;
     goods(){}               //定义了一个无参的构造方法
    public void ppt1(){      //定义了一个方法,作为判定的一种
          System.out.println("本店没有此商品,请小主去别处看看");
     }
 }
 class shits extends goods{            //鞋子子类
     shits(){}                        //无参的构造方法
     public void ppt2(String name,int number){          //定义第二种情况
         this.name=name;
         this.number=number;
         System.out.println("此商品是"+name);
         System.out.println("此鞋子的存货为"+number+"双");
         System.out.println("本店鞋子为女士鞋,质量顶呱呱!");
     }
 }
class overcoat extends shits{         //定义外套类子类
     overcoat(){}                    //无参的构造方法
    public void ppt3(String name,int number){
        this.name=name;
        this.number=number;
        System.out.println("此商品是"+name);
        System.out.println("外套的存货为"+number+"套");
        System.out.println("本店外套采用新疆长绒棉,米国人穿了都说好!");
    }
}
public class exct{
     public static void main(String[] args){
         Scanner in=new Scanner(System.in);
         int judge,judge2,f=1;                //构造参数
         judge= in.nextInt();                 //jugde为判断运输情况的参数
         judge2=in.nextInt();                 //judge2为判断商品情况的参数
         overcoat one=new overcoat();    //new一个新对象,此时overcoat已继承goods和shits的所有属性和方法(不包含private类),并且此时已经调用了无参的构造方法
         if(judge2==1)                //判断商品情况     
             one.ppt2("鞋子",50);      //并输出
         else if(judge2==2)
             one.ppt3("外套",33);
         else
         {one.ppt1();
             f=0;                   //f用来记录是否有此商品,如果无,则无需进行下一步判断
         }
         if(judge%2==0&&f==1)           //输入商品单号,判断运输情况
             System.out.println("您的宝贝正在运输中...");
         else if(judge%2==1&&f==1)
             System.out.println("您的宝贝已入站,请及时取走");
     }
}  

以上是运用了继承写的一个关于商品信息查询的简单代码,运行结果如下

110 2           //输入
此商品是外套     //以下为输出结果
外套的存货为33套
本店外套采用新疆长绒棉,米国人穿了都说好!
您的宝贝正在运输中...

成功实现一个简单查询。
##对继承的理解
写了关于继承的代码,初步理解继承,这里总结一下。

  1. 继承就是由一个类继承另一个类的属性和方法,就如同儿子继承父亲的眼睛,虽然一样,确是有复制的,并不是把父类存在子类中,而是复制了一份代码于子类中。
  2. 继承时需要无参构造,如果子类用无参构造,而父类只有有参构造,则会报错,不过在没有构造有参构造时,系统一般会默认一个无参构造,为了避免出错,最好显示的构造一个无参的构造方法。
  3. super也是·默认存在于子类方法中的第一行的关键字,super()可以在子类中调用父类中的方法(刚刚找了很久怎么使用),包括无参或有参的构造方法,但是注意!!!super只能写在方法的第一行,是方法的第一行!。
  4. 继承的出现可以更方便的编写代码(在我现在的认知里面),可以节省一定的代码量。
    ##总结
    1.学的很浅薄,只是学的编程方法以及继承如何去用,关于继承如何去运行的以及它在堆栈里面是怎样去运行的了解很少。
    2.继承关于多态之类的,不清楚。
    3.在之前学c的时候,主要学习的是算法以及逻辑,对计算机底层的东西了解很少,对c是如何运行,堆栈是如何工作的了解很少,而现在学习java则更关注于了解底层的东西,也更复杂更乏味(至少学c的时候学出一道算法题好有成就感勒),而现在则需要一边一边的去实验个个结构,运行以及更深层的东西。
    4.然后我的学习方法话说按照c那样,只是浅浅的了解如何去使用,这已经不够了,需要去改变,去找到一个更好的模式来学习java。
    5.我觉得我现在更新的东西都好浅薄,哎,再说吧。
    那样,只是浅浅的了解如何去使用,这已经不够了,需要去改变,去找到一个更好的模式来学习java。
    5.我觉得我现在更新的东西都好浅薄,哎,再说吧。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值