
发表日期: 2021-03-26 10:54:34 浏览次数:204
张家界网络公司哪家好【张家界企业网站百度SEO推广公司】张家界做网站开发价格、张家界淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、张家界高端企业网站页面制作设计专业公司需要多少钱
张家界,原名“大庸市”,湖南省地级市。辖2个市辖区(永定区、武陵源区)、2个县(慈利县、桑植县)。位于湖南西北部,澧水中上游,属武陵山区腹地。 [1] 张家界因旅游建市,是中国最重要的旅游城市之一,是湘鄂渝黔革命根据地的发源地和中心区域。
1982年9月,张家界国家森林公园成为中国第一个国家森林公园。
1988年8月,张家界武陵源风景名胜区被列入国家重点风景名胜区;1992年,由张家界国家森林公园等三大景区构成的武陵源风景名胜区被联合国教科文组织列入《世界自然遗产名录》;2004年2月,被列入全球首批《世界地质公园》;2007年,被列入中国首批国家5A级旅游景区。 [2] 2017年,被授予“国家森林城市”荣誉称号。 [3] 2021年1月29日,入选湖南省人民政府公布的2020年度真抓实干成效明显的地区名单。
在5.7节介绍过数值类型相互转换,引用类型可以进行转换,但并不是所有的引用类型都能互相转换,只有属于同一棵继承层次树中的引用类型才可以转换。
在上一节示例上修改HelloWorld.java代码如下:
//HelloWorld.java文件package com.a51work6;public class HelloWorld {
public static void main(String[] args) {
Person p1 = new Student("Tom", 18, "清华大学");
Person p2 = new Worker("Tom", 18, "钢厂");
Person p3 = new Person("Tom", 28);
Student p4 = new Student("Ben", 40, "清华大学");
Worker p5 = new Worker("Tony", 28, "钢厂");
…
}}复制代码上述代码创建了5个实例p1、p2、p3、p4和p5,它们的类型都是Person继承层次树中的引用类型,p1和p4是Student实例,p2和p5是Worker实例,p3是Person实例。首先,对象类型转换一定发生在继承的前提下,p1和p2都声明为Person类型,而实例是由Person子类型实例化的。
表12-1归纳了p1、p2、p3、p4和p5这5个实例与Worker、Student和Person这3种类型之间的转换关系。
表 12-1 类型转换

作为这段程序的编写者是知道p1本质上是Student实例,但是表面上看是Person类型,编译器也无法推断p1的实例是Person、Student还是Worker。此时可以使用instanceof操作符来判断它是哪一类的实例。
引用类型转换也是通过小括号运算符实现,类型转换有两个方向:将父类引用类型变量转换为子类类型,这种转换称为向下转型(downcast);将子类引用类型变量转换为父类类型,这种转换称为向上转型(upcast)。向下转型需要强制转换,而向上转型是自动的。
下面通过示例详细说明一下向下转型和向上转型,在HelloWorld.java的main方法中添加如下代码:
// 向上转型Person p = (Person) p4; ①// 向下转型Student p11 = (Student) p1; ②Worker p12 = (Worker) p2; ③// Student p111 = (Student) p2; //运行时异常 ④if (p2 instanceof Student) {
Student p111 = (Student) p2;}// Worker p121 = (Worker) p1; //运行时异常 ⑤if (p1 instanceof Worker) {
Worker p121 = (Worker) p1;}// Student p131 = (Student) p3; //运行时异常 ⑥if (p3 instanceof Student) {
Student p131 = (Student) p3;}复制代码上述代码第①行将p4对象转换为Person类型,p4本质上是Student实例,这是向上转型,这种转换是自动的,其实不需要小括号(Person)进行强制类型转换。
代码第②行和第③行是向下类型转换,它们的转型都能成功。而代码第④、⑤、⑥行都会发生运行时异常ClassCastException,如果不能确定实例是哪一种类型,可以在转型之前使用instanceof运算符判断一下。
在前面的学习过程中,为了声明常量使用过final关键字,在Java中final关键字的作用还有很多,final关键字能修饰变量、方法和类。下面详细说明。
final修饰的变量即成为常量,只能赋值一次,但是final所修饰局部变量和成员变量有所不同。
final修饰的局部变量必须使用之前被赋值一次才能使用。
final修饰的成员变量在声明时没有赋值的叫“空白final变量”。空白final变量必须在构造方法或静态代码块中初始化。
final修饰变量示例代码如下:
//FinalDemo.java文件package com.a51work6;class FinalDemo {
void doSomething() {
// 没有在声明的同时赋值
final int e; ①
// 只能赋值一次
e = 100; ②
System.out.print(e);
// 声明的同时赋值
final int f = 200; ③
}
//实例常量
final int a = 5; // 直接赋值 ④
final int b; // 空白final变量 ⑤
//静态常量
final static int c = 12;// 直接赋值 ⑥
final static int d; // 空白final变量 ⑦
// 静态代码块
static {
// 初始化静态变量
d = 32; ⑧
}
// 构造方法
FinalDemo() {
// 初始化实例变量
b = 3; ⑨
// 第二次赋值,会发生编译错误
// b = 4; ⑩
}}复制代码上述代码第①行和第③行是声明局部常量,其中第①行只是声明没有赋值,但必须在使用之前赋值(见代码第②行),其实局部常量最好在声明的同时初始化。
代码第④、⑤、⑥和⑦行都声明成员常量。代码第④和⑤行是实例常量,如果是空白final变量(见代码第⑤行),则需要在构造方法中初始化(见代码第⑨行)。代码第⑥和⑦行是静态常量,如果是空白final变量(见代码第⑦行),则需要在静态代码块中初始化(见代码第⑧行)。
另外,无论是那种常量只能赋值一次,见代码第⑩行为b常量赋值,因为之前b已经赋值过一次,因此这里会发生编译错误。

张家界网络公司哪家好【张家界企业网站百度SEO推广公司】张家界做网站开发价格、张家界淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、张家界高端企业网站页面制作设计专业公司需要多少钱
服务热线
顶部
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: http://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878