77范文网 - 专业文章范例文档资料分享平台

Java SE面向对象部分-15.面向对象高级(03)

来源:网络收集 时间:2019-04-14 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Java SE面向对象部分-15.面向对象高级(03)

上季内容回顾:

1、super与this关键字 2、方法的重载与覆写 本季主要知识点: 1、final关键字

2、简单了解一下抽象类与接口(是JAVA中最重要的部分) final关键字

终结器 —— final

1、被final标记的类不能被继承 final class A { };

class B extends A { };

验证一下:

2、被final标记的方法不能被子类覆写 final class A {

public final void print(){} };

class B extends A {

public void print(){} };

3、被final标记的变量就成为常量,如果成为常量,则以后不能修改 class A {

final String NAME = \; public final void print() {

NAME = \; } };

之前在声明变量的时候是第一个单词的首字母小写,之后每个单词的首字母大写。如果使用final声明常量,则所有单词的字母都要大写。 重点:全局常量:

· static:是所有对象共享的 · final:是一个常量

· public:表示可以让外部看见

public static final String FLAG = \全局常量 抽象类

抽象类:包含一个抽象方法的类就称为抽象类。 抽象方法:只声明而未实现的方法称为抽象方法。

方法没有方法体(方法体:“{}”),则称为是一个抽象方法。 除了抽象方法之外其他的定义如同普通类一样。 抽象类 = 普通类的功能 + 抽象方法

abstract class A {

public static final String FLAG = \; public void print() {

//有方法体,所以是一个普通方法

System.out.println(\World~~~\); }

//此处定义了一个抽象方法 public abstract void fun(); };

public class Demo04 {

public static void main(String args[]) {

A a = new A(); } };

如果要使用一个抽象类,不能直接实例化,抽象类是必须有子类的。

抽象类必须被继承,被继承的子类如果不是一个抽象类的话,则肯定要覆写全部的抽象方法。 abstract class A {

public static final String FLAG = \; public void print() {

//有方法体,所以是一个普通方法

System.out.println(\World~~~\); }

//此处定义了一个抽象方法 public abstract void fun(); };

//子类中覆写了抽象类中的全部抽象方法 class B extends A {

public void fun() {

//super.FLAG也可以写成FLAG,因为FLAG已经是全局常量了哈~~~ System.out.println(\+super.FLAG);

} };

public class Demo04 {

public static void main(String args[]) {

B b = new B(); b.fun(); b.print(); } };

验证效果,证明抽象类必须这样写哈~~~

抽象类的定义

抽象类的使用规则

抽象类的思考

abstract class Person {

//Person类应该有姓名和年龄 private String name; private int age;

public Person(String name,int age) {

this.name = name; this.age = age; }

public void setName(String name) {

this.name = name; }

public void setAge(int age) {

this.age = age; }

public String getName() {

return this.name; }

public int getAge() {

return this.age; }

//定义一个输出方法,但是此方法为抽象方法 public abstract String getInfo(); };

我们测试一下,发现编译正常,说明抽象类可以有构造方法哈~

我们继续哈~

abstract class Person {

//Person类应该有姓名和年龄 private String name; private int age; public Person(){}

//如果已经不是无参的,则必须在子类中明确调用无参构造 public Person(String name,int age) {

this.name = name; this.age = age; }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java SE面向对象部分-15.面向对象高级(03)在线全文阅读。

Java SE面向对象部分-15.面向对象高级(03).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/593055.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: