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

建设推广营销型网站应该注意什么企业网站制作多少钱

建设推广营销型网站应该注意什么,企业网站制作多少钱,软件开发一天收费多少,网站设计报告总结目录 前置小知识 1、向上转型 补充:向上转型的三种情况 2、向下转型 使用关键字:instanceof 3、转型带来了什么好处 前置小知识 java中的继承,我们简单回顾一下 通过java中的继承机制,可以实现一个类继承另一个类&#xff…

目录

前置小知识

1、向上转型

补充:向上转型的三种情况

2、向下转型

使用关键字:instanceof

3、转型带来了什么好处


前置小知识

java中的继承,我们简单回顾一下

        通过java中的继承机制,可以实现一个类继承另一个类,继承的类被称为子类,被继承的类被称为父类。当一个子类对象被创建时,首先会创建一个父类对象, 然后在父类对象的外部,添加上子类特有的的自己的属性,二者结合起来,就构成了一个子类对象。也就是说,子类可以继承父类的所有属性和方法,包括用private修饰的属性和方法也可以被继承,只不过一类不能直接去使用而已,可以通过父类public声明的get()方法去访问。

        子类可以重写父类的方法,也可以新建自己独有的方法


1、向上转型

例如有一个Person类,该类中有一个show()方法,代码:

class Person{public void show() {System.out.println("我是一个人");}
}

        有一个Student类继承了Person类,该类中重写了父类的show()方法,并且还有一个自己独有的test()方法,代码:

class Student extends Person {public void show() {System.out.println("我是一个学生");}public void test() {System.out.println("Student类独有方法");}
}

        我们现在来实例化Student类,创建一个Person类的引用变量,来引用这个Student类的实例化对象,然后来调用show()方法:

public class Main {public static void main(String[] args) {Person person = new Student();person.show();}
}

测试结果:

 再来调用test()方法:

我们会发现编译时就已经报错了

        小结:向上转型就是,使用父类的引用变量去引用子类的实例对象。这个引用变量可以访问子类中属于父类的属性和方法,但不能访问子类中独有的属性或方法。在上述的例子中,调用show()时,由于子类重写了该方法,所以调用的是子类的show()方法

补充:向上转型的三种情况

  • 直接赋值【上述代码就是】
  • 方法传参
  • 方法返回值

        方法传参:当我们创建了一个方法,规定传入的参数是一个父类,在实际调用的时候我们可以直接传入这个父类的子类作为参数,程序也会正确运行。

public static void main(String[] args) {run(new Student());}public static void run(Person person) {person.show();}

         方法返回值:当我们创造了一个方法,设定方法的返回值为父类,我们在实际返回的时候返回该父类的子类时也是没有问题的。

     public static void main(String[] args) {run(new Student()).show();}public static Person run(Person person) {return person;}

2、向下转型

        只有当当前对象原本就是子类对象通过向上转型才得到的,才能够成功的进行向下转型。所以并不是所有对象都可以进行向下转型。

同样是上述的代码,如下代码则是进行了向下转型:

 Person person = new Student();Student student = (Student) person;

        因为person引用的对象原本就是通过Student对象向上转型所得到的,所以在对person引用的对象进行向下转型后,得到的还是Student类的对象,可以使用Student类的引用变量去引用。

如果又有一个Teacher类继承了Person类,代码如下:

class Teacher extends Person {public void show() {System.out.println("我是一个老师");}public void test() {System.out.println("Teacher类独有方法");}
}

        我们现在来实例化Student类,再创建一个Person类的引用变量去引用这个对象,然后我们再创建一个Teacher类的引用变量去引用向下转型的person的变量,代码:

 Person person = new Student();Teacher teacher = (Teacher) person;

        这样的代码,在编译时是不会出现错误的,在运行时会报错

        因为person对象是Student对象通过向上转型得到的,只能向下转型成Student对象,不能转化成Teacher对象

如何解决这个问题呢?

使用关键字:instanceof

举例:

代码:

       Person person = new Student();if( person instanceof Teacher) {Teacher teacher = (Teacher) person;}person.show();

测试结果:

        instanceof关键字帮我们判断一个引用person向下转型后是否为Teacher类,若是则返回true,若不是则返回false。

向下转型会发生的三种情况同向上转型类似,就不赘述了~ 


3、转型带来了什么好处

通过向上向下转型,可以减少编程代码

举例:

此时有一个run()方法,给该方法传入一个Person参数,并调用Person对象的show()方法,代码:

public static void run(Person person) {person.show();
}

在主函数中:

public static void main(String[] args) {run(new Student());run(new Person());run(new Teacher());
}

        调用run()方法时,参数不仅可以是Person对象,也可以是Student对象和Teacher对象,当传入的是Student对象或Teacher对象时,就会进行向上转型成Person对象,但调用的show()方法还是Student对象和Teacher对象的show()方法。这样就不需要在主类里面同时重载三个方法run()方法,减少了代码量

好啦,下期见~

http://www.zhongyajixie.com/news/50263.html

相关文章:

  • 网站建设进度图个人怎么做百度竞价
  • 关于开通网站建设的请示广州番禺最新发布
  • 企业网站开发效果网站百度关键词seo排名优化
  • 二级网站内容建设要求竞价托管是啥意思
  • 深圳的网站建设公司pestl分析网站推广的要点
  • 网站建设电话销售不被挂断百度指数批量
  • 微信营销微网站建设百度关键词推广公司
  • 大企业网站建设北京百度关键词优化
  • wordpress ftp上传东莞seo外包平台
  • 凡科网站怎样做东莞百度推广优化
  • 网站 备案 拍照网站维护工程师
  • dw如何建立网站域名注册流程和费用
  • wordpress网站微信公众号推送谷歌应用商店app下载
  • 怎么快速仿wordpress站营销网站建设选择
  • 如何用自己的电脑做网站服务器郑州seo联系搜点网络效果好
  • 网站建设与管理案例教程第三版答案杯子软文营销300字
  • 网站如何做m适配seo怎么去优化
  • 昆山汽车网站建设seo入门基础教程
  • 一级a做爰片免费网站破解版网站怎么优化排名靠前
  • 外贸网站建设公司信息男生技能培训班有哪些
  • 政府网站建设岗位设置教育机构在线咨询
  • 销售性网站建设需求可以发外链的论坛有哪些
  • 安徽专业做网站的大公司app优化方案
  • wordpress影视采集网站最火网站排名
  • 青海网站开发公司百度百科分类方法
  • 公司网站.可以自己做吗seo百度关键词排名
  • 网站建设基础问题优化设计三年级下册数学答案
  • 体外产品的研发网站如何建设搜索历史记录
  • 社群营销的具体方法seo标题关键词怎么写
  • 网站建设质量体系审核指导长沙seo公司排名