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

做代码和网站西安建站

做代码和网站,西安建站,html可以用什么软件写,海南省建设厅官方网站🌈个人主页: Aileen_0v0🔥系列专栏:Java学习系列专栏💫个人格言:"没有罗马,那就自己创造罗马~" 目录 继承 私有成员变量在继承中的使用​编辑 当子类和父类变量不重名时: 当子类和父类重名时: 📝总结: 继承的含义: …

🌈个人主页: Aileen_0v0
🔥系列专栏:Java学习系列专栏
💫个人格言:"没有罗马,那就自己创造罗马~"

 

 

目录

继承

 私有成员变量在继承中的使用​编辑

 当子类和父类变量不重名时:

当子类和父类重名时:

 📝总结:

继承的含义:

toString方法的作用: 

重写和重载的区别


 

继承

package Inherit;class Dog {public String name;public int age;public void barks() {System.out.println(name + "汪汪叫!");}public void eat() {System.out.println(name + "正在吃饭!");}
}class Cat{public String name;public int age;public void eat() {System.out.println(name + "正在吃饭!");}public void CatchMouse() {System.out.println(name + "正在抓老鼠");}
}public class Test{public static void main(String[] args) {}
}

对比狗和猫这两个类,我们会发现它们有共同的属性,name,age 和 eat.

我们可以把它们相同的抽离出来,放到同一个Animal类里面.

通过extends(继承)关键字,让子类继承父类

当子类继承父类之后,就会把属性和方法全部继承.

继承:就是抽取共性,从而达到代码的复用[重复使用]

 

package Inherit;class Animal{public String name;public int age;public void eat() {System.out.println(name + "正在吃饭!");}
}class Dog extends Animal{public void barks() {System.out.println(name + "汪汪叫!"+"年龄"+ age);}}class Cat extends Animal{public void CatchMouse() {System.out.println(name + "正在抓老鼠");}
}public class Test{public static void main(String[] args) {Dog dog = new Dog();//属性继承dog.name = "旺财";dog.age = 10;dog.barks();//方法继承dog.eat();}
}

 注意:

1.子类将父类中的成员变量或成员方法继承到子类中.

2.子类继承父类之后,必须要新添加自己特有的成员,体现它与父类的不同,否则没有必要进行继承.


 私有成员变量在继承中的使用

 注意:私有的成员 可以被继承 但是不能访问.

若想访问,我们可以通过 get和 set方法进行访问

代码如下:

package Inherit;class Animal{private String name;public int age;public void eat() {System.out.println(name + "正在吃饭!");}public String getName() {return name;}public void setName(String name) {this.name = name;}
}class Dog extends Animal{public void barks() {System.out.println(getName() + "汪汪叫!"+"年龄"+ age);}}class Cat extends Animal{public void CatchMouse() {System.out.println(getName() + "正在抓老鼠");}
}public class Test{public static void main(String[] args) {Dog dog = new Dog();//属性继承dog.setName("旺财");dog.age = 10;dog.barks();//方法继承dog.eat();Cat cat = new Cat();//属性继承cat.setName("喵喵");cat.age = 10;cat.CatchMouse();//方法继承cat.eat();}
}

 


 当子类和父类变量不重名时:


package Inherit;/*** 子类和父类不存在同名变量时*/class Base{int a;int b;
}
public class Derived extends Base{int c;public void method(){a = 10;//来自父类b = 20;//来自父类c = 30;System.out.println(a);System.out.println(b);System.out.println(c);}public static void main(String[] args) {Derived derived = new Derived();derived.method();}
}

控制台运行结果:

 

当子类和父类重名时:

package Inherit;/*** 子类和父类存在同名变量时*/class Base{int a;int b;public void methodA() {System.out.println("Base 中的methodA()");}
}public class Derived extends Base{int a = 60;// 与父类成员 a 同名,类型相同 char b = 'o';//与父类成员 b 同名,不同类int c;public void methodB() {System.out.println("Derived 中的 methodB()方法");}public void methodC() {methodB();//访问子类自己的methodB()methodA();//访问父类继承的methodA()
//        methodD();//编译失败,在整个继承过程中没有发现方法}public void method(){//		a = 10;//来自父类b = 20;//来自父类c = 30;System.out.println(super.a);System.out.println(a);System.out.println(b);System.out.println(c);}public static void main(String[] args) {Derived derived = new Derived();derived.method();

父类与子类重合,优先访问子类

控制台运行结果:


 📝总结:

继承的含义:

抽取共性,通过子类继承(extends)父类,达到代码复用


toString方法的作用: 

在JAVA中,toString()方法是Object类中的一个方法,它的作用返回一个表示对象的字符串。当我们需要将一个对象转换为字符串时,可以使用toString()方法

如果我们没有重写该方法,则默认返回对象的类名和哈希码。

下面是一个toString()方法的代码案例:

public class Person {private String name;private int age;public Person(String name, int age) {this.name = name;this.age = age;}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +", age=" + age +'}';}public static void main(String[] args) {Person person = new Person("Tom", 20);System.out.println(person.toString());}
}

在上面的代码中,我们定义了一个Person类,并重写了toString()方法,返回了一个包含name和age属性的字符串。在main方法中,我们创建了一个Person对象,并使用toString()方法将其转换为字符串并输出。


重写和重载的区别

JAVA官方语法文档链接🔗👉:The Java® Language Specification

通过ctrl + F 找到 overload重载

重写和重载都是面向对象程序设计中的概念,它们的作用都是实现多态。但是它们的含义和实现方式是不同的

重载(Overload):指的是在同一个类内部或者父子类之间方法名相同,但是参数列表不同(参数类型、参数个数、参数顺序返回值类型可以是相同的也可以不同。这样的方法就叫做重载方法。

编译器根据调用时传递的不同参数,来确定调用的具体方法。

重写(Override):是指子类重写父类方法,方法名、参数列表、返回值类型与父类相同。这时候子类中的方法会覆盖掉父类中的方法,实现多态

下面是一些示例代码:

重载:

public class OverloadExample {public int add(int a, int b) {return a + b;}public int add(int a, int b, int c) {return a + b + c;}
}

重写:

public class OverrideExample {public static void main(String[] args) {Animal animal = new Dog();animal.eat();}
}class Animal {public void eat() {System.out.println("Animal is eating");}
}class Dog extends Animal {@Overridepublic void eat() {System.out.println("Dog is eating");}
}

在上面的重写示例中,Dog 类继承自 Animal 类,重写了 eat() 方法。使用多态的方式创建了一个 Animal 类对象 animal,然后调用 eat() 方法,实际调用的是 Dog 类中重写的 eat() 方法,输出 "Dog is eating"。

 

http://www.yayakq.cn/news/310709/

相关文章:

  • 公司网站可以分两个域名做吗博物馆门户网站建设目标
  • icp备案网站接入信息ip地址段怎么填网站开发江西
  • 做网站的方法什么是网站建设技术
  • 做网站链接容易吗建设网络平台绩效目标申报表
  • 西城广州网站建设网络会议系统方案
  • 单位做网站有哪些北京网下载
  • 北京建设监理协会官方网站seo是做网站源码还是什么
  • 做壁纸壁的网站有什么区别app网站建设济宁
  • 马鞍山网站网站建设厦门建设工程信息网官网
  • 做网站公司排名电话阿里云 多域名解析 到不同的网站
  • wordpress全站静态化thinkcmf做网站快不快
  • 服务周到的响应式网站做同城特价的网站有哪些
  • 网站上线倒计时 模板wordpress上传插件
  • 做app布局参考哪个网站高端品牌女装连衣裙
  • 深圳网站设计建设公司WordPress添加首页引导页
  • 网站建设课程报告最新手机发布会
  • 苏州营销网站设计如何开淘宝店
  • 电脑做网站用什么软件苏州网站怎么做
  • 冠县网站建设gxshasp.net p2p网站开发
  • 学院评估 网站建设整改最好看的2018中文在线观看
  • 免费建网站讨论电商平台怎么注册
  • 做网站需要的技能网站优化要从哪些方面做
  • 大型网站开发团队的美工需要什么工作经验和教育背景及薪酬短链接在线生成官网
  • 广州网站建设实力乐云seo蚌埠公司做网站
  • 长沙建设网站网站开发证有没有用
  • 专业做网站公司排名门户网站建设关系到
  • 湖南网站托管网络营销方式变化背后的逻辑与趋势
  • 福海网站制作数字化文化馆网站建设
  • 天河建设网站设计网站seo外链建设
  • 电子商务网站开发实务石道元工程建设项目招标范围和规模标准规定