当前位置: 首页 > news >正文

宝鸡网站建设网站今天最新新闻国内大事件

宝鸡网站建设网站,今天最新新闻国内大事件,网络网站开发公司,网站搭建系统都有哪些目录 第1关:封装、继承和多态进阶(一) 报错总结 & 注意事项: 第2关:封装、继承和多态进阶(二) 源码: 报错总结 & 注意事项: 思维导图免费制作网站&#xf…

目录

第1关:封装、继承和多态进阶(一)

报错总结 & 注意事项:

第2关:封装、继承和多态进阶(二) 

 源码:

报错总结 & 注意事项:

思维导图免费制作网站: 功能强大

学习方法:头歌中左侧知识点的解释还有右侧代码的提示模块非常清晰,我们可以:

①观察代码整体模块②尝试写代码③不清楚知识点,再将左侧解析放在实例当中去看 [那些注释都给我们写好了,对应注释去敲代码]

如果我们实在啥也不会,参考他人代码,那么也不要全部照抄

【例如】抄完有参构造实例化对象Dog后,自己去敲Cat

第1关:封装、继承和多态进阶(一)

package case1;import java.util.Scanner;public class Task1 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String dogName = sc.next();String dogSex = sc.next();String dogColor = sc.next();String catName = sc.next();String catSex = sc.next();double catWeight = sc.nextDouble();/********* begin *********/Dog dog = new Dog(dogName,dogSex,dogColor); // 通过有参构造函数实例化Dog类对象dogdog.talk(); // dog调用talk()方法dog.eat();  // dog调用eat()方法/********* end *********//********* begin *********/Cat cat = new Cat(catName,catSex,catWeight);// 通过有参构造函数实例化Cat类对象catcat.talk();// cat调用talk()方法cat.eat(); // cat调用eat()方法/********* end *********/}
}abstract class Pet {/********* begin *********/String name;// 构造函数初始化name和sexString sex;Pet(){}  // 定义抽象类Pet,作为基类Pet(String name,String sex){ //类中定义2个this.name = name;//封装属性namethis.sex = sex;//封装属性sex}public abstract void talk(); // 声明抽象方法talk()public abstract void eat();  // 声明抽象方法eat()/********* end *********/
}class Dog extends Pet { // Dog类继承自Pet类/********* begin *********/String color;//封装属性colorpublic Dog(String name,String sex,String color){this.name = name; // 构造函数初始化name、sex和colorthis.sex = sex;this.color = color;}public void talk(){ // 实现自己的talk()方法和eat()方法System.out.println("名称:" +name+ ",性别:" +sex+ ",颜色:" +color+ ",汪汪叫");}                  // talk()输出'名称:name,性别:sex,颜色:color,汪汪叫'public void eat(){ // eat()输出'name吃骨头'System.out.println(name+ "吃骨头!");}/********* end *********/
}class Cat extends Pet {  // Cat类继承自Pet类 /********* begin *********/double weight; Cat(String name,String sex,double weight){this.name = name; // 构造函数初始化name、sex和weightthis.sex = sex;this.weight = weight; //封装属性weight}// 实现自己的talk()方法和eat()方法public void talk(){System.out.println("名称:" +name+ ",性别:" +sex+ ",体重:" +weight+ "kg,喵喵叫");// talk()输出}public void eat(){System.out.println(name+ "吃鱼!"); // eat()输出}/********* end *********/
}

报错总结 & 注意事项:

1.  最头疼的一个问题,没有代码,题目本身这里显示有问题。代码部分明明正确啊! 

2. 此处的new 后面应该是Dog类

Dog dog = new Dog(dogName,dogSex,dogColor);

3.此处后面无标点符号

 Pet(){}  

4. 抽象方法声明:

1.public(公有的):可以被该类的和非该类的任何成员访问。
2.private(私有的):仅仅可以被该类的成员访问,任何非该类的成员一概不能访问。(主要是隐藏数据来保证数据的安全性)
3.protected(保护的):仅仅可以被子类和类本身还有同一个包里的类访问

 public abstract void talk(); 

自动默认public类型,代码中所有的public都可以省去不写

第2关:封装、继承和多态进阶(二) 

 源码:

package case2;import java.util.Scanner;public class Task2 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String cName = sc.next();String cSex = sc.next();int cAge = sc.nextInt();String eName = sc.next();String eSex = sc.next();int eAge = sc.nextInt();// 创建测试类对象testPerson test;// 创建Person类对象person1,引用指向中国人,通过有参构造函数实例化中国人类对象Person person1 = new Chinese(cName,cSex, cAge);showEat(person1);// 通过showEat()方法调用Chinese的eat()方法//showEat(new Chinese(cName,cSex,cAge));// 创建Person类对象person2,引用指向英国人,通过有参构造函数实例化英国人类对象Person person2 = new English(eName,eSex,eAge);showEat(person2);// 通过showEat()方法调用English的eat()方法// 强制类型转换(向下转型) 调用Chinese类特有的方法shadowBoxing()/********* begin *********/Chinese d = (Chinese)person1;d.shadowBoxing();/********* end *********/// 强制类型转换(向下转型) 调用English类特有的方法horseRiding()/********* begin *********/English e = (English)person2;e.horseRiding();/********* end *********/}/********* begin *********/public static void showEat(Person p){// 定义showEat方法,使用父类作为方法的形参,实现多态p.eat();//传入的是哪个具体对象就调用哪个对象的eat()方法}/********* end *********/
}abstract class Person {// 抽象类Person 封装属性name、sex和age/********* begin *********/public String name; // 构造函数初始化name、sex和agepublic String sex;public int age;abstract void eat();// 声明抽象方法eat()/********* end *********/
}class Chinese extends Person { // Chinese类继承自Person类/********* begin *********/public String name; // 构造函数初始化name、sex和agepublic String sex;public int age;Chinese(String name,String sex,int age){this.name = name;this.sex = sex;this.age = age;}void eat(){// 重写父类方法eat()System.out.println("姓名:" +name+ ",性别:" +sex+ ",年龄:" +age+ ",我是中国人,我喜欢吃饭!");}void shadowBoxing(){// 定义子类特有方法,当父类引用指向子类对象时无法调用该方法 输出System.out.println(name+"在练习太极拳!");}/********* end *********/
}class English extends Person { // English类继承自Person类/********* begin *********/String name;// 构造函数初始化name、sex和ageString sex;int age;English(String name,String sex,int age){this.name = name;this.sex = sex;this.age = age;}void eat(){// 重写父类方法eat() 输出System.out.println("姓名:" +name+ ",性别:" +sex+ ",年龄:" +age+ ",我是英国人,我喜欢吃三明治!");}void horseRiding(){System.out.println(name+ "在练习骑马!");// 定义子类特有方法,当父类引用指向子类对象时无法调用该方法 输出}/********* end *********/
}

报错总结 & 注意事项:

1.看见题目注释位置是单引号,一开始打了单引号

单引号:引的数据 是char类型的 单引号只能引一个字符(表示单个字符

双引号:双引号引的数据 是String类型的 而双引号可以引0个及其以上(引用字符串)

报错原因:定义的String类型

System.out.println(name+"在练习太极拳!");

 2. 最容易漏掉“   ;  ”

Java当中有分号,Python因为简单没有分号!

思维导图免费制作网站: 功能强大

https://www.processon.com/diagramshttps://www.processon.com/diagrams

http://www.bjxfkj.com.cn/article/106501.html

相关文章:

  • 山东济南报备小程序完善的seo网站
  • 中国咨询公司排名50强seo网站诊断分析报告
  • 微信商店怎么开通徐州seo网站推广
  • 网站流量怎么做乡1万网站建设哪个公司好
  • 扬州建站公司企业网站建设步骤
  • php网站忘记后台密码如何学会推广和营销
  • 建设网站的课题百度推广技巧
  • 济南网站建设行知科技不错aseo技术交流
  • 网站彩票投注员做啥的关键词快速排名软件价格
  • 培训管理平台广州网站设计专注乐云seo
  • 做英文网站建设整站seo排名
  • 可以直接观看的网站正能量萝卜建站
  • wordpress 海量数据seo排名软件免费
  • 网站建设合同.doc山西seo优化公司
  • dx网站是哪家公司做的seo网站优化工具
  • dede怎么做音乐网站武汉seo优化服务
  • php做网站首页国外网站搭建
  • 电子商务网站建设ppt模板和生活爱辽宁免费下载安装
  • 建设网站要做的工作镇江网站建设推广
  • 广州seo网站靠谱搜索引擎优化的英文
  • 广东省建设工程质量结构评优在哪个网站公示收录情况有几种
  • 专业建站公司建站系统现在百度怎么优化排名
  • 网站后台首页模板优化网站怎么做
  • 山西建设执业注册管理中心网站北京seo平台
  • 西地那非的作用与功效电商网站seo怎么做
  • 看剧资源网站怎么做的站长
  • 漳州哪里做网站湖北网络推广
  • 北京便宜网站建设广点通
  • 枣庄公司做网站手机怎么建网站
  • 一个完整网页的制作关键词优化报价推荐