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 ...
随机推荐
- bugku web2
打开全是滑稽.... 直接查看源码(用firefox的F12来查看,其他的会注释掉)可以得到flag(抓包不知道怎么回事抓不到,不然应该也可以看到注释的flag)
- <十>关于菱形继承
代码1 #include <iostream> using namespace std; class A{ public: A(int _a):ma(_a){ cout<<&q ...
- MySQL进阶实战1,数据类型与三范式
一.选择优化的数据类型 MySQL支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要. 1.更小的 一般情况下,应该尽量使用较小的数据类型,更小的数据类型通常更快,因为占用更少的磁盘.内存 ...
- 这么简单,还不会使用java8 stream流的map()方法吗?
一.前言 在日常的开发工作中经常碰到要处理list中数据的问题,比如从数据库中查出了很多学生,由于一些原因需要在内存中找出这些学生中的所有姓名,或者把名为"王五"的语文成绩暂时修改 ...
- C++编程笔记(多线程学习)
目录 一.线程创建 二.线程的相关操作 2.1 join 2.2 detach 2.3 joinable 三.线程参数 3.1传参所引发的资源回收问题 3.2 将对象的成员函数作为入口函数 四.线程的 ...
- PostgreSQL和MySQL的优劣对比
在开发项目的过程中,难免要面对选择数据库的情况.总结此文章是因为在之前公司里使用的都是MYSQL 数据库,而在现在公司里,新项目中使用的是 PostgreSQL 数据库,在使用过程中,经常需要查找两种 ...
- 单一JVM同步锁实现
同步锁实现 一.背景 在并发场景下,需要单一线程或限定并发数操作某些逻辑,这时候就需要用到一个锁来保证线程安全. 二.思路 使用ConcurrentHashMap实现,但只支持同一个jvm下的线程(暂 ...
- ADB命令快速入门
什么是ADB adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以方便调试Android程序. 环境搭建 1需要java环境: 安装完JDK需要配置环境变量 ...
- 「笔记」某移动SRE运维体系交流
痛点 传统竖井式IT架构(封闭.隔离.非标.难运维) X86 服务器硬件稳定性不足 开源软件可靠性不足,且不可控 出了故障,被动救火救不完 转型 由此催生了转型升级的需求: 运维智能(SRE)的转型 ...
- 2、Java封装、继承与多态
/** * 类.对象.面向过程.面向对象的理解: * 1.类:类是封装对象的属性和方法的载体 * * 2.对象:对象是类抽象出来的一个实例 * * 3.面向过程:面向过程注重的是具体的实现过程,因果关 ...