查看“商苑面馆:Java类的继承”的源代码
←
商苑面馆:Java类的继承
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==核心知识点=== *继承就是子类继承父类的特征和行为,使得代码能够复用; *声明继承之后,子类就可以使用父类所有的变量和方法; *如果有变量和方法父类当中不存在,子类可以自己定义。 ==步骤== ===定义一个父类=== 定义一个父类,并把子类当中公共的属性和方法定义到里面: Food类: <nowiki>package entity; public class Food { //成员变量 //名称 private String name; //价格 private double price; //数量 private int num; /*构造方法*/ public Food(){ } public Food(String name,double price,int num){ this.name = name; this.price = price; this.num = num; } //成员方法 public String getName(){ return this.name; } public double getPrice(){ return this.price; } public int getNum(){ return this.num; } //写方法 public boolean setName(String s){ this.name = s; return true; } public boolean setPrice(double p){ this.price = p; return true; } public boolean setNum(int n){ this.num = n; return true; } public String toString(){ return "名称:" +this.name+"价格:"+ this.price + "剩余数量: " + this.num; } public static void main(String[] args) { Food f0 = new Food("炸酱面",12,3); System.out.println(f0.toString()); } } </nowiki> ===子类增添extends关键字=== <nowiki>public class Noodle extends Food { ... }</nowiki> ===写子类的构造方法=== 子类构造方法 ,调用父类的构造方法。 <nowiki>public class Noodle extends Food { private double weight;//份量 /*构造方法*/ public Noodle(){ } public Noodle(String name,double price,int num){ super(name,price,num); } </nowiki> ===编写子类里面独有的成员和方法=== 面条类: <nowiki> public class Noodle extends Food { private double weight;//份量 /*构造方法*/ public Noodle(){ } public Noodle(String name,double price,int num){ super(name,price,num); } //增添新变量后,新的构造方法 public Noodle(String name,double price,int num,double weight){ super(name,price,num); this.weight = weight; } public void getWeight(){ return this.weight; } }</nowiki> ===main方法里验证=== 在Noodle类里main方法里写代码,对刚才的编码进行验证。 思考题: *怎样用带参的构造方法创建对象? <nowiki>public static void main(String[] args) { // TODO Auto-generated method stub Noodle n2 = new Noodle("炸酱面",12,3,500); System.out.println("您订的面是"+n2.getName()); System.out.println("份量:"+n2.getWeight()); }</nowiki> ==父类和子类的完整代码== Food类: <nowiki> package entity; public class Food { //成员变量 //名称 private String name; //价格 private double price; //数量 private int num; /*构造方法*/ public Food(){ } public Food(String name,double price,int num){ this.name = name; this.price = price; this.num = num; } //成员方法 public String getName(){ return this.name; } public double getPrice(){ return this.price; } public int getNum(){ return this.num; } //写方法 public boolean setName(String s){ this.name = s; return true; } public boolean setPrice(double p){ this.price = p; return true; } public boolean setNum(int n){ this.num = n; return true; } public String toString(){ return "名称:" +this.name+"价格:"+ this.price + "剩余数量: " + this.num; } public static void main(String[] args) { Food f0 = new Food("炸酱面",12,3); System.out.println(f0.toString()); } } </nowiki> 子类:面条类: <nowiki> public class Noodle extends Food { private double weight;//份量 /*构造方法*/ public Noodle(){ } public Noodle(String name,double price,int num){ super(name,price,num); } //增添新变量后,新的构造方法 public Noodle(String name,double price,int num,double weight){ super(name,price,num); this.weight = weight; } public void getWeight(){ return this.weight; } public static void main(String[] args) { // TODO Auto-generated method stub Noodle n2 = new Noodle("炸酱面",12,3,500); System.out.println("您订的面是"+n2.getName()); System.out.println("份量:"+n2.getWeight()); } }</nowiki> </nowiki> 子类:小吃类: <nowiki> public class SmallEat extends Food{ private String flavor; SmallEat(){ } SmallEat(String name,double price,int num){ super(name,price,num); } public String toString(){ return "名称:" + getName()+"价格:"+ getPrice() + "数量: " + getNum() + "口味:"+ flavor; } public static void main(String[] args) { // TODO Auto-generated method stub SmallEat s = new SmallEat("鹌鹑蛋",3,2); System.out.println(s.toString()); } } </nowiki>
返回至
商苑面馆:Java类的继承
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息