2013 - 01 - 18 Lesson_8 继承

  1 /***********************************************************
  2 *                       Lesson_8_1
  3 *
  4 *                    继承(inheritance)
  5 *                       13-01-18
  6 *                   note by CocoonFan
  7 ************************************************************
  8 ************************************************************
  9 * 一.内存
 10 *   1.代码存放在代码段;
 11 *     局部变量和基本数据类型存放于栈;
 12 *     引用类型存放于堆中;
 13 *     静态变量(static)、字符串存放于数据段。
 14 * 二.继承 -- 代码的重用
 15 *   1.利用现有的类(基类或父类)创建新的类(派生类或父类)
 16 *   2.派生类:基类的方法 + 附加的方法
 17 *   3.层次越高越抽象
 18 *   4.[访问修饰符] class 派生类名 extends 基类名 {}
 19 *   5.Java只支持单继承
 20 *   6.父类中的构造方法不能被子类继承
 21 *   7.子类的构造方法只需要考虑自己的成员变量,不必考虑父类的成员变量
 22 *   8.实例化子类对象的时候,先执行父类的构造方法再执行子类的构造方法
 23 *     有多级构造方法的时候类似.此时会创建匿名的父类对象,之后JVM会
 24 *     将其回收.
 25 *   9.如果父类的构造方法失败,子类的构造方法也不能成功
 26 *  10.所有对象有一个顶级父类 Object
 27 * 二.super关键字
 28 *     1.必须是子类构造方法的第一条语句
 29 *     2.用于显式地指明调用父类的构造方法super([参数1,...]);
 30 *     3.不写会默认调用父类无参的构造方法
 31 *     4.
 32 *
 33 ************************************************************/
 34
 35 public class Lesson_8{
 36     public static void main(String[] args) {
 37
 38         Animal animal = new Animal();
 39         animal.sleep(0);
 40
 41         Cat cat = new Cat();
 42         cat.sleep(2);
 43
 44         cat.setName("波斯猫");//父类(animal)的名字name并不会改变
 45         System.out.println(cat.getName());    //波斯猫
 46         System.out.println(animal.getName()); // null
 47     }
 48 }
 49
 50 class Animal{//父类
 51
 52     private String name;
 53     private int age;
 54
 55     //构造方法
 56     public Animal(){
 57         System.out.println("动物的构造方法");
 58     }
 59
 60     public Animal(String name, int age){
 61         this.name = name;
 62         this.age = age;
 63         System.out.println("动物的带2个参数的构造方法");
 64     }
 65
 66     public String getName() {
 67         return name;
 68     }
 69
 70
 71     public void setName(String name) {
 72         this.name = name;
 73     }
 74
 75
 76     public int getAge() {
 77         return age;
 78     }
 79
 80
 81     public void setAge(int age) {
 82         this.age = age;
 83     }
 84
 85
 86     public void sleep(int hour){
 87         System.out.println("动物能睡觉,已经睡了" + hour + "个小时了");
 88     }
 89
 90 }
 91
 92 class Cat extends Animal{
 93     private String color;//属于Cat
 94
 95     public Cat(){
 96         super();
 97     }
 98
 99     public Cat(String color){
100         super("", 0);//会调用父类带有两个参数的构造方法
101         this.color = color;
102         System.out.println("猫的构造方法");//会先调用父类的构造方法
103     }
104 }

转载于:https://www.cnblogs.com/CocoonFan/archive/2013/01/18/2867028.html

Lesson_8 上课笔记 ----继承相关推荐

  1. Redis教程(上课笔记)

    Redis教程 1. 什么是NoSql NoSQL一词最早出现于1998年,是Carlo Strozzi开发的一个轻量.开源.不提供SQL功能的关系数据库.2009年,Last.fm的Johan Os ...

  2. 学习Linux第一次上课笔记

    一.配置IP地址 1.设置网络连接模式为NAT模式. 学习linux第二次上课笔记 2.获取IP地址,首先运行dhclinet服务,然后敲ip add进行查看,自动获取的IP地址. 学习linux第二 ...

  3. HCIP-Datacom 821/831题库以及上课笔记、视频、配套讲义分享

    有幸过了HCIP-Datacom,其中821 884分,831 917分,感谢万能网络提供了那么多宝贵的资源. 整理了821/831题库,都是一个字一个字打上去的,供参考,基本上做到90%的准确率,通 ...

  4. SuperMap怎样实现测面积的代码(上课笔记)

    标题SuperMap怎样实现测面积的代码(上课笔记) (作者:李寿宇,撰写时间:2019年1月16日) 1).地图发布以后,引入SuperMap iserver <SuperMap.Includ ...

  5. java上课笔记大全_JAVA基础知识上课笔记

    1.八种数值类型: int short long float double char byte boolean 2.两次转换类型:自动类型转换,强制类型转换. 在某种条件下系统自动完成类型转换, 1) ...

  6. Java学习笔记--继承和多态(下)

    1.通过继承来开发超类(superclass) 2.使用super 关键词唤起超类的构造方法 3.在超类中覆盖方法 4.区分override和overload 5.在Object类中探索toStrin ...

  7. 面向对象程序设计-C++ Default constructor Copy constructor Destructor Operator Overloading【第九次上课笔记】...

    先上笔记内容吧: 这次上课的内容有关 构造函数 析构函数 运算符重载 return * this 内容很细,大家好好回顾笔记再照应程序复习吧 :) #include <iostream>u ...

  8. 上课笔记--商法(上)

    //2015年7月5日 不同于其他商学课程,商法是一门让人觉得学了绝对有用的商科课. 记得大一的时候看了朱苏力的<法理学>,如今再对应着现在学的具体法条,而且是效率为先的商法.略有所悟. ...

  9. 自动控制原理上课笔记(不定期更新)

    文章目录 前言 自动控制的一般概念 经典控制理论和现代控制理论的区别 自动控制的基本原理与方式 自动控制系统基本控制方式 对自动控制系统的基本要求 控制系统的数学模型 数学模型 微分方程 小偏差法 传 ...

  10. Python 学习笔记 -- 继承与多态(入门级实例)

    1 #继承 2 #假设有不同品种的鱼,它们的蛋白质含量都不同,那么我们吃掉这些鱼获得的效果也应该不同 3 #---------------------------------------------- ...

最新文章

  1. 在Paddle中利用AlexNet测试CIFAR10数据集合
  2. 后处理安装_你所不了解的国六后处理
  3. 【MM模块】 Goods Receipt 收货 2
  4. Dubbo使用Zooker注册服务
  5. 解决magento保存产品时耗时很长的问题
  6. 3-30Pytorch与auto-variabletensor
  7. 酷炫的VR选座,阿里大麦背后的技术堪称豪华
  8. java web mysql备份,Java Web 实现Mysql 数据库备份与还原
  9. jquery-galleryview-2.0 漂亮多样化的图片特效(多项自定义)
  10. 基恩士PLC实例笔记①--立项及编程
  11. 司空见惯 - 体彩中奖交多少税
  12. 考察数据结构——第三部分:二叉树和BSTs[译]
  13. 该怎么把光纤接入家里预埋的网线中?
  14. 石家庄12重点项目开工,滹沱新区更名为正定新区
  15. 论参加数学建模比赛的正确姿势
  16. 如何设置Foxmail收取yahoo.com.cn和yahoo.cn以及yahoo.com等邮箱的方法
  17. 数据库管理工具 Navicat 和 DBeaver
  18. 数字图像处理 - 什么是数字图像处理
  19. 9种数据类型,数据类型区别及判断数据类型方法
  20. Laravel 上传文件大小改为200M

热门文章

  1. Hadoop(十二)MapReduce概述
  2. flask+jsonp跨域前后台交互(接口初体验)
  3. Java基础知识强化之网络编程笔记22:Android网络通信之 Android常用OAuth登录(获取个人信息)...
  4. Phpcms V9 栏目列表调用文章点击量及评论数量方法(转)
  5. django 已登陆用户的权限问题
  6. 关于Linux的目次结构及干系分区成绩
  7. 洛谷P3871 [TJOI2010]中位数(splay)
  8. 【C语言】-一维数组
  9. Parentheses Column Values
  10. 为什么「margin:auto」可以让块级元素水平居中?