day08

final关键字

最终的不可更改的

特点:

1)修饰类,类不能被继承

2)修饰方法,方法不能被重写

3)修饰成员变量(变为常量),值不能修改,名字大写,声明同时给常量赋值

main方法中

1)修饰基本数据类型,基本数据类型不能改

2)修饰引用类型,内存地址不能被改变,但地址内的值可以

@Override//注解

String的底层是final修饰的char类型的数组

String就是final修饰的常量类

所以String被称为字符串常量

面向对象三要素——多态

没有继承就没有多态,生成的对象在调用父类的方法时,如果方法被子类重写,则调用的时子类重写的方法

代码当中体现多态性,父类引用指向子类对象

父类名 对象名 = new 子类名();

Java中,有两种形式可以实现多态:继承和接口

方法的重载实现的是编译时的多态性(也成为前绑定),重写实现的是运行时的多态性(也称后绑定)

抽象类

定义:

抽象类不能被实例化,它的作用是提供给其他类进行继承

抽象关键字abstract

public abstract class Father{
public abstract void fun1();
String name;
private int age;
public void fun2(){ }
}
public class Son extends Father{
public void fun1(){ }
}

特点

抽象方法

被abstract修饰,只有方法签名,没有方法体,可以被子类重写

public abstract void fun1();

接口

接口只有方法签名

interface声明接口关键字

接口特点

接口只有方法签名和静态常量

接口的变量默认补全public final static

接口签名方法,默认使用public abstract修饰

一个类可以实现多个接口,Java中遵循单继承多实现,先继承后实现

被继承后必须重写所有方法

public class Son extends Father implements IPerson,IPlayer{
public void fMethod(){
}
public void IPMethod(){
}
public void IPlMethod(){
}
}

byMyself

接口可以继承接口,继承时可以不用重写父类接口的方法(可能因为接口做不到实例化)

类继承接口必须重写方法,否则报错

接口之间不能相互实现

优点:

解决单继承的问题(类只能单继承,但可以实现多个接口)

接口可以实现并行开发

便于重构

向上转型

父类类型创建子类对象

在此有Father类,Tom主类和Son类继承Father类

Father f = new Son();

向下转型

只有Object有向下转型的可能

Son f = new Father();//不能成功
Son f = (Son) new Father();//语法可以通过,但不建议
//先不说

day08 final关键字&面向对象——多态&抽象类、方法&向上、向下转型的更多相关文章

  1. 重写 final关键字 多态调用子类特有的属性及行为(向上向下转型)

    1.override 重写:在继承中,子类与父类方法名相同,参数列表相同,的方法叫重写,与返回值有关;  主要应用于系统升级. 2.final 关键字: 可修饰:1.类-->被修饰后该类不能被继 ...

  2. Object类 任何类都是object类的子类 用object对象接收数组 object类的向上向下转型

    任何类都是object类的子类 用object对象接收数组 object类的向上向下转型

  3. 抽象类、final关键字、多态

    1.1 抽象类 1.1.1 抽象类概念 C extends B,B extends A,在继承过程中,形成一个继承金字塔,位于金字塔底部的类越来越具体(强大),位于塔顶的越来越抽象(简单). 例如:人 ...

  4. 重写、super关键字、final关键字、多态、子类型转换、抽象的初步了解

    重写 含义 在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法.但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写.方法重写又称方法覆盖. 重写与重载的 ...

  5. 06 面向对象:多态&抽象类&接口&权限修饰符&内部类

    多态: /* 多态(polymorphic)概述 * 事物存在的多种形态 多态前提 * a:要有继承关系. * b:要有方法重写. * c:要有父类引用指向子类对象. * 成员变量 * 编译看左边(父 ...

  6. Java中final关键字修饰变量、方法、类的含义是什么

    Java中的关键字final修饰变量.方法.类分别表示什么含义? 先看一个简单的介绍 修饰对象 解释说明 备注 类 无子类,不可以被继承,更不可能被重写. final类中的方法默认是final的 方法 ...

  7. java 多态 向上 向下转型

    向上转型 将子类对象当作父类对象     子类对象------>父类对象 先实例化子类 父类 父类对象 = 子类实例 package test2; class Father{ public vo ...

  8. java基础值向上向下转型

    1.父类引用可以指向子类对象,子类引用不能指向父类对象. 2.向上转型:子类引用的对象转换为父类类型称为向上转型,把子类对象直接赋给父类引用叫upcasting,向上转型不用强制转型(类似于低精度赋给 ...

  9. final关键字、多态 (札记)

    目录 protected fianl 子父类中同名的 private 方法 java中的前期绑定 免疫多态 谁先被执行,构造器 还是 初始化? 协变返回类型 <Thinking in java& ...

  10. python之面向对象函数与方法,反射,双下方法

    一.函数和方法 1.函数和方法的区别 函数: 全都是显性传参,手动传参,与对象无关 方法: 存在隐性传参,与对象有关 1.1通过函数名可以判断 len()就是函数 str.count()就是方法 de ...

随机推荐

  1. day03-代码实现02

    多用户即时通讯系统03 4.编码实现02 4.2功能实现-拉取在线用户 4.2.1思路分析 客户端想要知道在线用户列表,就要向服务器发送请求(Message),因为只有服务器端保持着所有与客户端相连接 ...

  2. kubeoperator升级步骤

    当前kubeoperator版本是3.6.0 官方文档:https://kubeoperator.io/docs/installation/install/ # 离线升级需要提前下载离线安装包,并解压 ...

  3. 开启tcp_timestamps和tcp_tw_recycle造成NAT转发连接不上

    文章转载自:https://segmentfault.com/a/1190000022264813

  4. PAT (Basic Level) Practice 1025 反转链表 分数 25

    给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转.例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4:如果 K 为 4,则输出应该 ...

  5. aardio + PowerShell 可视化快速开发独立 EXE 桌面程序

    aardio 可以方便地调用 PowerShell ,PowerShell 中也可以自由调用 aardio 对象与函数.不用带上体积很大的System.Management.Automation.dl ...

  6. 编写HelloWorld并运行

    1在任意地方右键点新建 2创建一个文本文档 3修改名字,改为HelloWorld.java 4打开文件扩展名,查看后缀 打开后再去看文件名后缀有没有.txt,如果有的话就不是java文件,把后缀的.t ...

  7. python 网络爬虫全流程教学,从入门到实战(requests+bs4+存储文件)

    python 网络爬虫全流程教学,从入门到实战(requests+bs4+存储文件) requests是一个Python第三方库,用于向URL地址发起请求 bs4 全名 BeautifulSoup4, ...

  8. 微信小程序专题(一)-----微信后台的相关开发

    本人最近在做微信小程序后端的相关开发工作 接触到微信小程序目前来讲需要两个条件 1.前端通过后台服务器去调用微信平台接口,来获取openid: 2.前端必须调用https 跟域名的形式 不得出现ip加 ...

  9. 27.-Django发送邮件

    一.邮件相关协议-SMTP SMTP全称是Simple Mail Transfer Protocol,即简单邮件传输协议(25端口号) 它是由一组从源地址到目的地址传输邮件的规范,通过它来控制邮件的中 ...

  10. Eureka Server 实现在线扩容

    Eureka Server 实现在线扩容 作者:Grey 原文地址: 博客园:Eureka Server 实现在线扩容 CSDN:Eureka Server 实现在线扩容 需求 Eureka 是 Sp ...