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

如何把网站做的好看福州网站优化公司

如何把网站做的好看,福州网站优化公司,网站做加QQ群链接,在线制作非主流流光闪字 急切网多态:一个对象在不同条件下表示的不同形态就叫多态。在程序中,多态是父类引用指定子类对象就叫多态。 多态是面向对象程序设计中的第三个特征 // 多态 class Father {String name;public void desc() {System.out.println("----------");Sys…

多态:一个对象在不同条件下表示的不同形态就叫多态。在程序中,多态是父类引用指定子类对象就叫多态。

多态是面向对象程序设计中的第三个特征

// 多态
class Father {String name;public void desc() {System.out.println("----------");System.out.println(name + "小头爸爸");}
}
class Son extends Father {String name;public void desc() {System.out.println("+++++++++++++");System.out.println(name + "大头儿子");}
}public class PolymorphicDemo1 {public static void main(String[] args) {Father father = new Son();father.name = "大头儿子";father.desc();}
}

另一种多态的使用方式是在方法的参数上,一般我们在使用工厂设计模式时会使用多态。

在参数列表上,使用父类去接收,它也是一种多态的使用方式。

abstract class Animal {abstract void haha();
}
class Cat extends Animal {@Overridevoid haha() {System.out.println("Cat haha()");}
}
class Dog extends Animal {@Overridevoid haha() {System.out.println("Dog haha()");}
}class HelloKit {public static Animal create(Animal animal) {if (animal instanceof Cat) {return new Cat();}else if (animal instanceof Dog) {return new Dog();} else {return null;}}
}
public class HelloKitDemo {public static void main(String[] args) {Cat cat = new Cat();Dog dog = new Dog();Animal animal = HelloKit.create(cat);animal.haha();Animal animal1 = HelloKit.create(dog);animal1.haha();}
}

使用多态的注意事项

1)在多态的情况下,不能使用子类特有的方法。

class Person {public int age = 5;public void show() {System.out.println("Person age: " + age);}
}
class Student extends Person {public int age = 10;public String name = "小明";public void show() {System.out.println("Student age: " + age);}public void speak() {System.out.println(name);}
}public class PolymorphicDemo2 {public static void main(String[] args) {Person p = new Student();p.show(); // 可以执行p.speak(); // 报错,因为 speak 方法是子类特有的方法}
}

2)多态在实例时如果属性是非静态的,它的值是看等号的左边

// 多态的注意事项
class Person {public int age = 5;public void show() {System.out.println("Person age: " + age);}
}
class Student extends Person {public int age = 10;public String name = "小明";public void show() {System.out.println("Student age: " + age);}public void speak() {System.out.println(name);}
}public class PolymorphicDemo2 {public static void main(String[] args) {Person p = new Student();System.out.println(p.age); // 5 ,是不是 10}
}

原因:我们使用的是多态,也就是说我们输出的 p.age ,而 p 是父为的引用,它获取到的值就是父类中定义的值。

在多态下,编译是看等号的左边,运行时如果是属性则看等号左边。

3)在多态下的非静态方法

// 多态的注意事项
class Person {public int age = 5;public void show() {System.out.println("Person age: " + age);}
}
class Student extends Person {public int age = 10;public String name = "小明";public void show() {System.out.println("Student age: " + age);}
}public class PolymorphicDemo2 {public static void main(String[] args) {Person p = new Student();p.show();}
}

在多态下,编译是看等号的左边,运行时如果方法是非静态的看等号的右边

4)在多态下的静态成员

// 多态的注意事项
class Person {public static void x() {System.out.println("Person static x");}
}
class Student extends Person {public static void x() {System.out.println("Student static x");}
}
public class PolymorphicDemo2 {public static void main(String[] args) {Person p = new Student();p.x(); // Person static x}
}

在多态下,静态的成员在编译和运行时都看等号的左边

http://www.15wanjia.com/news/44370.html

相关文章:

  • wordpress 5.1 运行环境seo与sem的区别
  • 婚恋网站上认识人 带你做原油交易做网站的好处
  • 模板网站建设代理商关键字挖掘爱站网
  • 公司网站设立与维护方案优帮云排名自动扣费
  • 网站 设计 分辨率上海百网优seo优化公司
  • 平邑网站定制张雪峰谈广告学专业
  • 做视频网站 带宽佛山seo培训
  • 征婚网站 女 做茶叶生意新闻发布会新闻通稿
  • 专业的网站建设哪家好快速网站排名提升工具
  • 网站建设吉金手指排名11代推广平台
  • 自建网站平台 优帮云济南新站seo外包
  • 樟树有哪几个网站做爆药库私人做网站
  • pyhton可以做网站吗可以发外链的平台
  • 南京建设局的网站网络营销策划书总结
  • 养老网站建设方案外链管理
  • 郑州做网站价格培训班报名
  • 网站备案全国疫情地区查询最新
  • 五台网站建设优化标题关键词技巧
  • 顺德家居企业网站建设免费网站安全软件大全
  • 温江网站建设价格市场营销渠道
  • 网站商城维护怎么做seo优化师培训
  • 请人做阿里巴巴网站需要注意百度seo排名优化价格
  • 网站建设公司转型做什灯塔网站seo
  • 机械设计接单平台百度官方优化指南
  • 青岛网站建设比较好互联网营销师培训费用是多少
  • 什么网站可以做行测百度账户安全中心
  • 国外优质设计网站域名查询站长工具
  • wordpress一键sslseo排名培训公司
  • 大连市建设厅网站b2b b2c c2c o2o区别
  • 海安建设局网站seo关键词排名优化评价