zoukankan      html  css  js  c++  java
  • 《java入门第一季》之面向对象(重头戏继承来了)

    java特性封装、继承、多态。之前对封装做了简单描述(见http://blog.csdn.net/qq_32059827/article/details/51312116),今天分析另一个特性继承性:

    首先这一片只是对继承概念做一个分析,具体的d代码描述在下一篇开始更新。

    首先我来写两个代码:
    	//定义学生类
    	class Student {
    		String name;
    		int age;
    		
    		public Student(){}
    		
    		//getXxx()/setXxx()
    	
    		public void eat() {
    			System.out.println("吃饭");
    		}
    	}
    	
    	//定义老师类
    	class Teacher {
    		String name;
    		int age;
    		
    		public Teacher(){}
    		
    		//getXxx()/setXxx()
    		
    		public void eat() {
    			System.out.println("吃饭");
    		}
    	}
    我们观察上面两个代码:
    	发现name,age成员变量,以及getXxx()/setXxx(),还有eat()等都是相同的。
    	如果我们后来继续定义类,举例:工人类,军人类。他们是不是也具备这些内容。
    	那么,每一次定义这样的类的时候,都要把这些重复的内容都重新定义一遍。
    	麻烦。所以,我们要考虑改进?
    如何改进呢?
    	这想:能不能把这些相同的内容给定义到一个独立的类中。
    	然后,让这多个类和这个独立的类产生一个关系,有了这个关系后,
    	这多个类就可以具备这个独立的类的功能。
    	为了实现这个效果,java就提供了一个技术:继承。
    	
    	父亲:
    		4个儿子
    继承怎么表示呢?继承的格式是什么样子的呢?
    	class Fu {}
    	
    	class Zi extends Fu {
    		
    	} 
    	
    回头修改代码:
    	class Person {
    		String name;
    		int age;
    		
    		public Person(){}
    		
    		//getXxx()/setXxx()
    	
    		public void eat() {
    			System.out.println("吃饭");
    		}
    	}
    	
    	class Student extends Person {
    		public Student(){}
    	}
    	
    	class Teacher extends Person {
    		public Teacher(){}
    	}

    这就是继承,和生活中的继承差不多。就是儿子孙子要继承使用父亲或者祖宗的东西。相信什么是继承,一目了然。


  • 相关阅读:
    Struts2SpringHibernate整合示例,一个HelloWorld版的在线书店(项目源码+详尽注释+单元测试)
    Java实现蓝桥杯勇者斗恶龙
    Java实现 LeetCode 226 翻转二叉树
    Java实现 LeetCode 226 翻转二叉树
    Java实现 LeetCode 226 翻转二叉树
    Java实现 LeetCode 225 用队列实现栈
    Java实现 LeetCode 225 用队列实现栈
    Java实现 LeetCode 225 用队列实现栈
    Java实现 LeetCode 224 基本计算器
    Java实现 LeetCode 224 基本计算器
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299871.html
Copyright © 2011-2022 走看看