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

辽宁建设工程信息网官网 a类业绩百度手机seo软件

辽宁建设工程信息网官网 a类业绩,百度手机seo软件,搜狐一开始把网站当做什么来做,免费网页代理的推荐多态 字面意思&#xff1a;对象的多种形态。 Student(子类)<-Person(父类)->Teacher(子类) Student snew Student(); 学生形态 对象 代表用new创建一个学生对象赋值给Student 类型&#xff0c;代表Student类型(学生对象)现在是学生形态。 有了多态之后&#xff…
  • 多态

字面意思:对象的多种形态。

Student(子类)<-Person(父类)->Teacher(子类) 

Student s=new Student();
学生形态   对象

代表用new创建一个学生对象赋值给Student 类型,代表Student类型(学生对象)现在是学生形态。

有了多态之后,现在可以这样

Person p=new Sstudent();
人的形态      对象

代表用new创建一个学生对象赋值给Person类型,代表Student类型(学生对象)现在是人的形态。

什么是多态?

同类型的对象,表现出不同的形态。所有子类都是父类的不同形态,通俗来就是"类对象"。

多态的表现形式:

父类类型  对象名称=子类对象;

多态的前提:

  • 有继承/实现关系(接口)。
  • 有父类引用指向子类对象(Fu f=new Zi();)。
  • 有方法的重写。(在下面这个图中,Student和Teacher两个类都把show()方法重写了。)

在上面这四个代码中可以知道:如果有个方法的参数是一个类的名字,那么可以向他传入他的子类。 

多态的好处:

  • 使用父类型作为参数的时候,可以接收所有子类对象,(不能调用子类特有的方法,会报错)
  • 体现多态的拓展性与便利。

多态调用成员的特点:

  • 变量调用:编译看左边,运行也看左边。
  • 方法调用:编译看左边,运行就按右边。
解释:

先写一段代码。

package pdsu_zjh;import com.sun.crypto.provider.PBES2Core.HmacSHA1AndAES_128;class Animal{String name="动物";public void show () {System.out.println("Animal -show方法");}
}
class Dog extends Animal{String name="狗";public void show() {System.out.println("Dog  -show方法");}
}
class Cat extends Animal{String name="猫";public void show() {System.out.println("Cat  -show方法");}
}
public class Test {public static void main(String []agrs) {Animal a1=new Dog();//可以理解为动物对象现在是狗形态。//成员变量://编译看左边,运行看左边//编译看左边,javac编译代码的时候,会看左边的父类有没有这个变量,如果有则编译成功。反之编译失败。//运行也看左边,java运行代码的时候,实际获取的就是左边父类中的成员变量。System.out.println(a1.name);//会输出“动物”//成员方法://编译看左边,运行看右边//编译看左边:java编写代码的时候,会先看左边的父类中有没有这个方法,如果有,编译成功,如果没有则编译失败。//运行看右边:java运行代码的时候,实际上运行的是子类中的方法,子类可以把方法重写,如果子类没有重写,也就是没有对父类也有并且在这次调用中被调用的方法进行重新写的话,就会默认执行父类中的方法//也就是如果Dog的show方法被注释掉的话,就会执行父类Animal中的show方法,没被注释掉就执行重写的方法a1.show();}}
变量调用:

理解:Animal a1=new Dog();

这句.使用a1去调用变量和方法,a1是Animal类型的所以默认从Animal这个类中去找,

成员变量:在子类的对象中,会把父类的成员变量继承下来,具体调用哪个是要看这个对象是是谁创建出来的

成员方法:如果子类对方法进行了重写,则会在虚方法表中把父类的方法进行覆盖

多态的优势:

  • 在多态形式下,右边对象可以实现解耦合,便于扩展和维护。
Person p=new Student();
p.work();

再说上面这里创造了人这个对象,学生形态,所以工作的方法是学生方法 ,如果想老师工作,就把Student(),改成Teacher();

  • 定义一个方法的时候,使用父类型作为参数对象的时候,可以接受所有子类对象,体现多态的扩展性和便利。

多态的劣势:

  • 不能调用子类的特有方法,比如说上面的Dog()中再加一个Animal()中没有的方法,就不会调用。因为会先检查左边有没有此方法。
  • 解决方法:强转类型。在上面的代码可以 Dog b=(Dog)a;//转换的时候不能转成其他类型,不然会报错,
  • 在这里引入一个关键字:instanceof.他能判断一个对象是不是这个类中的
  • if(a1 instanceof Dog){
    Dog b1=(Dog)a1;//不能瞎转哦,这里是因为a1是Animal对象的Dog形态。
    }
    else if(.....){...}

http://www.dtcms.com/wzjs/441165.html

相关文章:

  • 一个不懂技术的人如何做网站百度推广的方式有哪些
  • 好网站开发培训济南网站设计
  • 做外贸用什么视频网站好微信怎么做推广
  • 万网 手机网站百度客服电话24小时客服电话
  • 广西网站运营最好的公司新闻今日要闻
  • 昆明行业网站建设河北seo网络优化师
  • 如何在建设教育协会网站注册考试网站优化排名查询
  • 微信开发网站建设程序创建网站需要多少资金
  • 网站建设参考网站的说明书seo优化的主要任务
  • 海外社交网站开发类似互推商盟的推广平台
  • 外贸服装网站建设百度网盘人工申诉电话
  • 如何做优酷网站赚钱长沙seo全网营销
  • 青岛菜西有做网站的吗百度网盘登录入口
  • 建材网站做环保类型思路站长工具seo优化系统
  • 网站做301跳转在哪里打广告效果最好
  • 网站建设初级工程师市场调研的四个步骤
  • 企业做网站推广产品需要多少钱seo网站推广服务
  • 南联网站建设北京seo网站管理
  • 专业定制网站建设智能优化百度关键词指数工具
  • 群晖wordpress设为首页优化关键词方法
  • 做网站广告联盟深圳seo优化排名
  • 产教融合信息门户网站建设方案acca少女网课视频
  • 公司建网站价格自媒体代运营
  • 网站建设系统认证系统今日热点新闻事件
  • 做网站服务器多大的好整合营销案例举例说明
  • 有哪些看设计做品的网站专门做推广的软文
  • 河南网站设计十大推广app平台
  • 网站建设怎么样外贸推广渠道有哪些
  • 广告设计网站哪个好百度手机端推广
  • 申请个人网站搜索引擎广告形式有哪些