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语言中的头文件和函数一样 代码主界面越感觉越好

最新文章

  1. ++a和a++的区别。
  2. tab标签切换
  3. PHP 7 Xdebug 深深的坑
  4. [Leetcode] Maximum Gap
  5. C# 执行JS
  6. c#的Marshal
  7. IE升级到10.0,VS2010启动调试时报“未能将脚本调试器附加到计算机..”
  8. TCP/IP协议栈源码图解分析系列10:linux内核协议栈中对于socket相关API的实现
  9. WEB烟花效果——Canvas实现
  10. 软件测试之adb命令-实际公司使用场景--今日log
  11. exports与module.exports的区别,export与export.defult区别
  12. [luogu4149][bzoj2599][IOI2011]Race【点分治】
  13. matplotlib-2D绘图库学习目录
  14. RAID的基本介绍
  15. sudo: add-apt-repository: command not found
  16. httpclient 相关使用介绍
  17. JPush删除别名及回调函数(SWIFT)
  18. python财经数据接口包Tushare pro的入门及简单使用方式(大数据,股票数据接口)
  19. Ubuntu中建立ftp 503错误解决办法
  20. 目标跟踪算法meanshift优缺点

热门文章

  1. element-ui 对话框dialog里使用echarts,报错&#39;dom没有获取到&#39;?
  2. vscode分级文件夹
  3. 轻松玩转awk
  4. oracle第二步创建表空间、用户、授权
  5. STM32按键控制LED亮灭的代码
  6. PL/SQL Developer使用中文条件查询时无数据的解决方法
  7. php的可变变量覆盖漏洞
  8. win7安装Anaconda+TensorFlow(cpu版)+配置PyCharm
  9. .Net 6 使用 Consul 实现服务注册与发现 看这篇就够了
  10. iOS根据两点经纬度坐标计算指南针方位角