码迷,mamicode.com
首页 > 编程语言 > 详细

Java 面向对象理解

时间:2016-01-08 13:29:47      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:java   family   public   java三大特性   

Java 面向对象的三大特性

    封装

        比如我们想描述人的属性,可以把人的相关属性name,age...封装成一个人类 Person

        类,这样我们就实现从基本数据(属性)到类的封装

        我们也可以把一些常用的方法封装到一个类里,作为工具类,比如数据格式校验的方法,

        时间格式转换的方法, 这样我们就实现从常用方法到类的封装

        有些情况下,我们的数据结构比较复杂,在一个类中的属性中也会声明另一个类的声明,

         或者声明一个类的集合作为属性

               class Teacher{
                  public String name;   //老师的名字
                  public Family family;//家庭类
                  List<Student> students;//老师名下的学生集合
               }

         特殊情况下,这样的数据封装还不够,我们还需要限制访问权限,比如加上private修饰

        符,限制只能在类的内部调用,比如:

               class Bank{ 
                  private String money;//存款数目
                  public String getMoney() {
                	return money;//银行人员执行取款操作
                  }
                	  public void setMoney(String money) {
                		this.money = money;//银行人员执行存款操作
                	  }
                }

    以上的封装是在属性和方法的层次上,还有一种更加有意思的封装形式是内部类,规则是:

成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员), 这个规则结合继承,就巧妙的解决了Java单继承的问题:

    public class External extends Father { 
    	private String Exname;
    	//内部类
    	class internal {
    		private String inname;
    
    		public void print() {
    			System.out.println(Exname);
    			fatherPrint();//可以直接访问Father类的打印方法
    		}
    	}
    
    	public void get() {
    		System.out.println(internal.class);
    	}
    
    	public String getExname() {
    		return Exname;
    	}
    
    	public void setExname(String exname) {
    		Exname = exname;
    	}
    }

    继承

        

    多态

本文出自 “QinGuan” 博客,请务必保留此出处http://11083953.blog.51cto.com/11073953/1732817

Java 面向对象理解

标签:java   family   public   java三大特性   

原文地址:http://11083953.blog.51cto.com/11073953/1732817

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!