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

杭州精品课程网站建设python网站开发框架

杭州精品课程网站建设,python网站开发框架,个人静态网页制作模板,企业解决方案是什么意思啊由于子类不能继承父类的构造方法#xff0c;因此#xff0c;如果要调用父类的构造方法#xff0c;可以使用 super 关键字。super 可以用来访问父类的构造方法、普通方法和属性。 super 关键字的功能#xff1a; 在子类的构造方法中显式的调用父类构造方法访问父类的成员方…由于子类不能继承父类的构造方法因此如果要调用父类的构造方法可以使用 super 关键字。super 可以用来访问父类的构造方法、普通方法和属性。 super 关键字的功能 在子类的构造方法中显式的调用父类构造方法访问父类的成员方法和变量。super调用父类构造方法 super 关键字可以在子类的构造方法中显式地调用父类的构造方法基本格式如下 super(parameter-list);其中parameter-list 指定了父类构造方法中的所有参数。super( ) 必须是在子类构造方法的方法体的第一行。 声明父类 Person 和子类 Student在 Person 类中定义一个带有参数的构造方法代码如下 public class Person {public Person(String name) {} } public class Student extends Person {}会发现 Student 类出现编译错误提示必须显式定义构造方法错误信息如下 Implicit super constructor Person() is undefined for default constructor. Must define an explicit constructorJVM 默认给 Student 类加了一个无参构造方法而在这个方法中默认调用了 super()但是 Person 类中并不存在该构造方法所以会编译错误。 如果一个类中没有写任何的构造方法JVM 会生成一个默认的无参构造方法。在继承关系中由于在子类的构造方法中第一条语句默认为调用父类的无参构造方法即默认为 super()一般这行代码省略了。所以当在父类中定义了有参构造方法但是没有定义无参构造方法时编译器会强制要求我们定义一个相同参数类型的构造方法。 声明父类 Person类中定义两个构造方法。示例代码如下 public class Person {public Person(String name, int age) {}public Person(String name, int age, String sex) {} }子类 Student 继承了 Person 类使用 super 语句来定义 Student 类的构造方法。示例代码如下 public class Student extends Person {public Student(String name, int age, String birth) {super(name, age); // 调用父类中含有2个参数的构造方法}public Student(String name, int age, String sex, String birth) {super(name, age, sex); // 调用父类中含有3个参数的构造方法} }从上述 Student 类构造方法代码可以看出super 可以用来直接调用父类中的构造方法使编写代码也更加简洁方便。 编译器会自动在子类构造方法的第一句加上super();来调用父类的无参构造方法必须写在子类构造方法的第一句也可以省略不写。通过 super 来调用父类其它构造方法时只需要把相应的参数传过去。 super访问父类成员 当子类的成员变量或方法与父类同名时可以使用 super 关键字来访问。如果子类重写了父类的某一个方法即子类和父类有相同的方法定义但是有不同的方法体此时我们可以通过 super 来调用父类里面的这个方法。 使用 super 访问父类中的成员与 this 关键字的使用相似只不过它引用的是子类的父类语法格式如下 super.member其中member 是父类中的属性或方法。使用 super 访问父类的属性和方法时不用位于第一行。 super调用成员属性 当父类和子类具有相同的数据成员时JVM 可能会模糊不清。 class Person {int age 12; }class Student extends Person {int age 18;void display() {System.out.println(学生年龄 super.age);} }class Test {public static void main(String[] args) {Student stu new Student();stu.display();} }输出结果为 学生年龄12在上面的例子中父类和子类都有一个成员变量 age。我们可以使用 super 关键字访问 Person 类中的 age 变量。 super调用成员方法 当父类和子类都具有相同的方法名时可以使用 super 关键字访问父类的方法。代码如下。 class Person {void message() {System.out.println(This is person class);} }class Student extends Person {void message() {System.out.println(This is student class);}void display() {message();super.message();} }class Test {public static void main(String args[]) {Student s new Student();s.display();} }输出结果为 This is student class This is person class在上面的例子中可以看到如果只调用方法 message( )是当前的类 message( ) 被调用使用 super 关键字时是父类的 message( ) 被调用。 super和this的区别 this 指的是当前对象的引用super 是当前对象的父对象的引用。下面先简单介绍一下 super 和 this 关键字的用法。 super 关键字的用法 super.父类属性名调用父类中的属性super.父类方法名调用父类中的方法super()调用父类的无参构造方法super(参数)调用父类的有参构造方法如果构造方法的第一行代码不是 this() 和 super()则系统会默认添加 super()。 this 关键字的用法 this.属性名表示当前对象的属性this.方法名(参数)表示调用当前对象的方法当局部变量和成员变量发生冲突时使用this.进行区分。 关于 Java super 和 this 关键字的异同可简单总结为以下几条。 1 . 子类和父类中变量或方法名称相同时用 super 关键字来访问。可以理解为 super 是指向自己父类对象的一个指针。在子类中调用父类的构造方法。 2 . this 是自身的一个对象代表对象本身可以理解为 this 是指向对象本身的一个指针。在同一个类中调用其它方法。 3 . this 和 super 不能同时出现在一个构造方法里面因为 this 必然会调用其它的构造方法其它的构造方法中肯定会有 super 语句的存在所以在同一个构造方法里面有相同的语句就失去了语句的意义编译器也不会通过。 4 . this( ) 和 super( ) 都指的是对象所以均不可以在 static 环境中使用包括 static 变量、static 方法和 static 语句块。 5 . 从本质上讲this 是一个指向对象本身的指针, 然而 super 是一个 Java 关键字。 在 Animal 类和 Cat 类中分别定义了 public 类型的 name 属性和 private 类型的 name 属性并且 Cat 类继承 Animal 类。那么我们可以在 Cat 类中通过 super 关键字来访问父类 Animal 中的 name 属性通过 this 关键字来访问本类中的 name 属性如下面的代码 // 父类Animal的定义 public class Animal {public String name; // 动物名字 }//子类Cat的定义 public class Cat extends Animal {private String name; // 名字public Cat(String aname, String dname) {super.name aname; // 通过super关键字来访问父类中的name属性this.name dname; // 通过this关键字来访问本类中的name属性}public String toString() {return 我是 super.name 我像 this.name;}public static void main(String[] args) {Animal cat new Cat(太阳, 花一样);System.out.println(cat);} }上述代码演示了使用 super 关键字访问父类中与子类同名的成员变量 namethis 关键字访问本类的 name 变量。运行程序输出结果如下 我是太阳我像花一样
http://www.huolong8.cn/news/238806/

相关文章:

  • 文字域名可以做网站做网站设计工资多少钱
  • 网站建设的 关键词用jsp源码做网站
  • 黑河北京网站建设网站网页翻页设计
  • 个人建设网站维护费是多少八零云自助建站免费建站平台
  • 企业网站建设方案精英joomla 网站建设
  • 网站免费的正能量漫画东莞整合网站建设公司
  • 58网站建设多少钱wordpress导入网页
  • 自己做的网站如何让别人看到Wordpress页面手机不适配
  • 自己做外贸网站能接到单吗怎样制作微信小程序卖东西
  • wordpress 游戏插件下载游戏seo推广
  • 网站开发毕业设计任务书范文营销专业网站
  • 甘肃建设银行网站域名转移影响网站访问吗
  • 公司网站制作新手教程深做网站公司
  • 免备案php网站空间优购物app最新版下载
  • wordpress 无法更新优化seo教程
  • 网站需求分析报告范文高端ppt制作
  • 无锡做网站的公司aspx网站使用什么做的
  • 网站开发 公司黄页推广2021
  • 男女怎样做那个视频网站哪里有做区块链网站的
  • 做网站需不需要购买服务器wordpress禁止图片点击
  • 网站建设都需要什么沙市做网站weisword
  • 网站vip怎么做抖音推广佣金平台
  • 什么颜色做网站好看河北建设工程信息网正规网站
  • 最简单的制作网站江门网红桥
  • 站长工具网址是多少wordpress插件数据库存在哪
  • vultr怎么做网站服务器及网站建设的特点
  • 成品网站源码68w68游戏红动中国免费素材网站
  • 网站建设科技公司外部环境分析企业网站需要多少费用
  • 18芯城网站开发案例做网站选什么专业
  • 网站主题风格网站开发文档撰写