- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八课final、抽象类、接口、多态
final关键字:
final可以修饰非抽象类,非抽象成员方法和变量,但不能用来修饰构造方法。如果把类定义为final类型,则该类不能被继承。
Final的特征:
final修饰变量,则表示常量。例:final String name=”huang”(常量)
public static final String NAME=”huang”(全局常量)
final变量只能赋一次值
注意:形参调用内部类,则形参前必须有final修饰。
Final的作用:
提高程序的安全性
提高程序代码的可维护性
提高程序代码的可读性
抽象类
定义:只要类中的有一个或多个方法后面没有{},(抽象方法)前有abstract修饰,此类称为抽象类。
例:abstract class A
{public abstract void fun();
}
抽象类的特点:
抽象类不能实例化,只能被继承
抽象类中默认的构造方法,但构造方法不能直接调用,只能由子类去重写
抽象类不能被final修饰
例:abstract class A1
{String name;
A1(){System.out.println(H!!!);}
A1(String name){this.name=name;}
public abstract void fun();
}
class A2 extends A1
{
A2(){super();}
public void fun()
{
System.out.println(hee);
}
}
class A
{
public static void main(String[] args)
{ A2 b=new A2();
}
}。
运行结果:H!!!
接口
由抽象方法和全局变量组成。所有的成员都是public类型的。
在Java中,接口包括:
概念性的接口(指系统对外提供的所有服务)
用interface定义的实实在在的接口(即接口类型)
接口的特征:
接口中的成员变量默认都是public、static、final类型,必须被显式初始化
接口中的方法默认都是public、abstract类型的
接口中只能包含public、static、final类型的成员变量和public、abstract类型的方法
接口没有构造方法,不能被实例化
一个接口不能实现另一个接口,但它可以继承多个其他接口
Abstract class A
{ public static final String NAME=”huang”;
public abstract void fun();
public abstract void print();
}
Interface A
{ String NAME=”huang”;
void fun();
void print();
}
小结:接口,即一个抽象类的变量全为抽象方法和全局变量
接口是用来继承的,用implements实现接口
一个类可以实现多个接口,但只能继承一个父类
interface A
{ String NAME=huang;
void fun();
void print();
}
interface D
{
}
class B1 implements A,D
{B1(){super();}
public void fun()
{System.out.println(HEEE);}
public void print(){}
}
class B
{
public static void main(String[] args)
{
B1 b=new B1();
}
}
对象转型和instanceof关键字
对象转型:指当有继承发生时,父类对象和子类对象的相互转换。
有两种转型:1、向上转型,系统自动完成;
向下转型,此时要进行类型转型(强制)。
例:class Animal
{ String name;
public void cry()
{System.out.println(name+animal cry);
}
}
class Dog extends Animal
{ int legs=4;
Dog(String name){this.name=name;}
public void cry()
{System.out.println(name+dog wang ....);
}
}
class C
{
public static void main(String[] args)
{
Dog d=new Dog(blackdog);
d.cry();
}
}
文档评论(0)