博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lesson_8 上课笔记 ----继承
阅读量:5104 次
发布时间:2019-06-13

本文共 2662 字,大约阅读时间需要 8 分钟。

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

你可能感兴趣的文章
poj2752 Seek the Name, Seek the Fame
查看>>
Illustrated C#学习笔记(一)
查看>>
理解oracle中连接和会话
查看>>
HDU 5510 Bazinga KMP
查看>>
[13年迁移]Firefox下margin-top问题
查看>>
Zookeeper常用命令 (转)
查看>>
Bootstrap栅格学习
查看>>
程序员的数学
查看>>
聚合与组合
查看>>
洛谷 P2089 烤鸡【DFS递归/10重枚举】
查看>>
我眼中的技术地图
查看>>
lc 145. Binary Tree Postorder Traversal
查看>>
android dialog使用自定义布局 设置窗体大小位置
查看>>
ionic2+ 基础
查看>>
[leetcode]Minimum Path Sum
查看>>
Aizu - 1378 Secret of Chocolate Poles (DP)
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
Screening technology proved cost effective deal
查看>>
mysql8.0.13下载与安装图文教程
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>