JAVA 进阶 69-79
10/20
1. 创建 媒体类型 了解父类与子类
import java.util.ArrayList;
//导入包 public class sfgda {
//定义容器 容器类型是DGSD这个类型
private static ArrayList<DGSD> LCD=new ArrayList<DGSD>();
//讲值写入 LCD容器中
public void add(DGSD cd)///定义CD这个对象
{
LCD.add(cd);
}
///打印出 LCD中的所有内容 以DGSD 为类型
public void list()
{
for(DGSD cd:LCD)
{
cd.print();
}
}
public static void main(String[] args)
{
//开辟对象
sfgda s=new sfgda();
//用ADD 指令给容器值
s.add(new CD("朱志鑫",12,3));
///打印
s.list();
}
}
DGSD 这个类型 是什么
public class DGSD {
public DGSD() {
}
public void print() {
}
}
这个文件中什么代码也没有 那么代码是怎么实现的
public class CD extends DGSD { //继承DGSD 俗称子类
private String name;
private int age;
private int num;
///定义类型
public CD (String name,int age,int num)
{
this.name=name;
this.age=age;
this.num=num;
}
///给定义值
public void print() {
System.out.println(name+""+age+num);
///打印
}
}
1.子类与父类
子类型 与父类 的赋值关系
1.子类的对象可以赋值给父类的变量
CD M=new CD("朱志鑫",12,3));
DGSD Q=new DGSD();
Q=M;
2.子类和子类型
3.子类与参数传递
子类的对象可以传递给需要父类的函数
add 是需要父类的函数 .add中是子类的对象 将对象直接传递到了需要父类的函数中
4.子类型与容器的关系
private static ArrayList<DGSD> LCD=new ArrayList<DGSD>();
为什么我们明明是 父类的容器 子类也可以添加呢 因为子类继承了父类 子类具体父类的公开特性
5.多态变量
1.第一条
这里我们创建 对象后 它就具有多种类型了
2.
3.向上造型
造型例子
4.造型详解
这里V 是主类 C是分 想要可以共同管理 就需要转
俗称造型
为什么叫向上造型 本来就很抽象了
7.小疑惑 引出的多态 选择不同的方法
为什么呢?
化红圈 的地方是叫“容器” 里面有很多不同类构成的对象给的数据
我们print 就会对他进行传递 当他是什么类型的时候就会进入那个类 找到同名 的方法进行执行
这里的CD 就是多态 它具有不同的类型
这个运行的方法叫函数调用的绑定
动态绑定特点 只有运行时 才知道管理的类型
比如这里 java会自己来判断去调用哪个类里面的这个方法
10/24 -------所以类的尽头
为什么会有tostring这个方法 是因为所有的类都继承自 Object
我们调用的就是object
@Override 表示覆盖父类的函数 参数 名字都要一样 只要这些一样我们就可以改写object的方法
public String toString() {
return super.toString();
}
比如这里 因为类型不同导致的不同 也是可以解决了
这里提一嘴 equals 比较两容器管理的值是不是相同
代码注意事项
这里就像C语言中的头文件和函数一样 代码主界面越感觉越好
JAVA 进阶 69-79的更多相关文章
- java进阶视频分享
更多资源和教程请关注公众号:非科班的科班. 如果觉得我写的还可以请给个赞,谢谢大家,你的鼓励是我创作的动力 课程目录介绍 01.开班仪式02.并发编程专题之多线程基础03.并发编程专题之Java内存模 ...
- Java 进阶 hello world! - 中级程序员之路
Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...
- Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式
原创文章,同步发自作者个人博客,http://www.jasongj.com/java/nio_reactor/ Java I/O模型 同步 vs. 异步 同步I/O 每个请求必须逐个地被处理,一个请 ...
- Java线程间通信方式剖析——Java进阶(四)
原创文章,同步发自作者个人博客,转载请在文章开头处以超链接注明出处 http://www.jasongj.com/java/thread_communication/ CountDownLatch C ...
- Java进阶(三)多线程开发关键技术
原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这 ...
- 当我们说线程安全时,到底在说什么——Java进阶系列(二)
原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...
- Java进阶03 IO基础
链接地址:http://www.cnblogs.com/vamei/archive/2013/04/11/3000905.html 作者:Vamei 出处:http://www.cnblogs.com ...
- Java进阶01 String类
链接地址:http://www.cnblogs.com/vamei/archive/2013/04/08/3000914.html 作者:Vamei 出处:http://www.cnblogs.com ...
- 从ConcurrentHashMap的演进看Java多线程核心技术 Java进阶(六)
本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为.同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1. ...
- Java进阶(七)正确理解Thread Local的原理与适用场景
原创文章,始自发作者个人博客,转载请务必将下面这段话置于文章开头处(保留超链接). 本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ Th ...
随机推荐
- vue 项目中,后端返回文件流,导出excel
之前写过文件流导出excel,这次直接把上次的代码拿过来复制粘贴,但是导出的表格里面没有数据,只显示undefined. 这是之前的代码 // api接口页面 // excel导出接口 export ...
- 【小项目】微信定时推送天气预报Github项目使用及原理介绍-包含cron、天气预报、常用api
一.资料链接 1.github地址 https://github.com/qq1534774766/wx-push 2.教程地址 https://blog.csdn.net/qq15347747/ar ...
- 看完这篇,还不懂JAVA内存模型(JMM)算我输
欢迎关注专栏[JAVA并发] 更多技术干活尽在个人公众号--JAVA旭阳 前言 开篇一个例子,我看看都有谁会?如果不会的,或者不知道原理的,还是老老实实看完这篇文章吧. @Slf4j(topic = ...
- MySQL的select for update用法
MySQL中的select for update大家应该都有所接触,但什么时候该去使用,以及有哪些需要注意的地方会有很多不清楚的地方,我把我如何使用和查询到的文档在此记录. 作用 select本身是一 ...
- Go 每日一库之 go-carbon,优雅的golang日期时间处理库
Carbon 是一个轻量级.语义化.对开发者友好的 golang 时间处理库,支持链式调用. Carbon 已被 awesome-go 收录, 如果您觉得不错,请给个 star 吧. github.c ...
- angr_ctf——从0学习angr(一):angr简介与核心概念
我在学习angr时,先是阅读了开发者发布在IEEE上的论文IEEE Xplore Full-Text PDF:该文章讲述了自动化漏洞挖掘的背景和方法,并对angr的架构和核心模块进行了介绍,非常经典值 ...
- 同步与异步 multiprocessing 进程对象多种方法
目录 同步与异步 阻塞与非阻塞 综合使用 创建进程的多种方式 前言 windows系统创建进程的问题(重要) multiprocessing模块之Process 展现异步 创建进程的方式(一):使用P ...
- CBV如何添加装饰器?
目录 一:CBV如何添加装饰器 1.CBV中django不建议直接给类的方法加装饰器 2.CBC添加装饰器的三种方法 3.CBV添加装饰器实战 一:CBV如何添加装饰器 1.CBV中django不建议 ...
- AStar寻路算法示例
概述 AStar算法是一种图形搜索算法,常用于寻路.他是以广度优先搜索为基础,集Dijkstra算法和最佳优先(best fit)于一身的一种算法. 示例1:4向 示例2:8向 思路 递归的通过估值函 ...
- AssertionError: Class XXXXX missing "Meta.model" attribute
源码示例: from rest_framework import serializers from set.models import Set class SetSerializers(seriali ...