博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java的封装
阅读量:4973 次
发布时间:2019-06-12

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

1 封装

 

封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

 

封装步骤

[1]属性私有化

[2]提供公共的设置器和访问器

[3]设置器和访问器中添加业务校验逻辑

 

public class Dog{		// 【1】private 私有的,对外不可见	private String name;	private int health;	private int love;	private String strain;	// 【2】提供公共的设置器(setter)和访问器(getter)	public void setName(String name){		// 【3】逻辑校验		if(name.equals("")){			System.out.println("姓名不能为空.");		}else{			this.name = name;		}	}	public String getName(){		return this.name;	}		public void setHealth(int health){		if(health < 0){			System.out.println("健康值不合法.");			this.health = 0;		}else{			this.health = health;		}	}	public int getHealth(){		return this.health;	}		public void setLove(int love){		if(love < 0){			System.out.println("亲密度不合法.");			this.love = 0;		}else{			this.love = love;		}	}	public int getLove(){		return this.love;	}		public void setStrain(String strain){		if(strain.equals("")){			System.out.println("品种不能为空.");		}else{			this.strain = strain;		}	}	public String getStrain(){		return this.strain;	}			public Dog(){			}	public Dog(String name,int health,int love,String strain){		this.setName(name);		this.setHealth(health);		this.setLove(love);		this.setStrain(strain);	}		public void showInfo(){		System.out.print("我的名字叫"+this.name);		System.out.print(",健康值"+this.health);		System.out.print(",亲密度"+this.love);		System.out.println(",我是一只"+this.strain);	}}

 

 2 静态常量

 

果一个的值不会发生改变,可以把该量声明为静态常量static final修饰。

 

public class Penguin{        private String name;    private int health;    private int love;    private String gender;        static final String SEX_MALE = "雄";    static final String SEX_FEMALE = "雌";        public void setName(String name){        this.name = name;    }    public String getName(){        return this.name;    }        public void setHealth(int health){        if(health>100 && health<1){            this.health = 60;            System.out.println("健康值必须在1-100之间,默认为60");        }else{            this.health = health;        }    }    public int getHealth(){        return this.health;    }        public void setLove(String love){        this.love = love;    }    public int getLove(){        return this.love;    }        public void setGender(String gender){        this.gender = gender;    }    public String getGender(){        return this.gender;    }        public Penguin(){            }    public Penguin(String name,String gender){        this.setName(name);        this.setGender(gender);    }        public Penguin(String name,int health,int love,String gender){        this(name,gender);        this.setHealth(health);        this.setLove(love);    }        public void showInfo(){        System.out.print("我的名字叫"+name);        System.out.print(",健康值"+health);        System.out.print(",亲密度"+love);        System.out.println(",性别"+gender);    }        }public class Test02{    public static void main(String[] args){                Penguin penguin = new Penguin("大脚",100,0,Penguin.SEX_MALE);    }}

 

转载于:https://www.cnblogs.com/FSY15767366954/p/10743545.html

你可能感兴趣的文章
将txt文件转化为json进行操作
查看>>
我的2014-相对奢侈的生活
查看>>
Java设计模式
查看>>
mysql-This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决
查看>>
基本概念复习
查看>>
红黑树
查看>>
【数据库】
查看>>
WindowManager.LayoutParams 详解
查看>>
安卓中数据库的搭建与使用
查看>>
.NET 设计规范--.NET约定、惯用法与模式-2.框架设计基础
查看>>
sql 内联,左联,右联,全联
查看>>
C++关于字符串的处理
查看>>
Breaking parallel loops in .NET C# using the Stop method z
查看>>
[轉]redis;mongodb;memcache三者的性能比較
查看>>
让你的WPF程序在Win7下呈现Win8风格主题
查看>>
构建Docker Compose服务堆栈
查看>>
浮点数内存如何存储的
查看>>
JsonCpp 的使用
查看>>
问题账户需求分析
查看>>
hp 服务器通过串口重定向功能的使用
查看>>