java第12天
2016-03-23 22:46
253 查看
封装
指隐藏对象的属性和实现细节,仅对外提供公共访问方式好处:
将变化隔离
便于使用
提高重用性
提高安全性
封装原则
将不需要对提供的内容隐藏起来。
将属性隐藏,提供公共方法对其访问
私有
private static void A()
权限修饰符,用于修饰类中的成员(成员变量,成员函数),只在本类中有限。
图中所示的大概思路是:
* 定义两个类,一个类1内定义一个private的变量age,另一个类2实现修改变量age;
* 类1中,封装了age的判定,图中表示将判断传入数据a是否大于零或者小于130,若符合则通过,将传入数据赋给age。然后调用speak()函数,将age打印出来,若不符合则打印出”false age”
* 同时在类1中,定义一个getAge()函数,用于返回age;
* 类2中为主函数,new一个类2的函数定义为p;有一个注释为p.age(-20)这样并不可行
class private2 { private int age; void speak() { System.out.println("age="+age);//打印该值 } void setage(int a) /* 之前这里添加一个public static void setage(int a ) 出现了bug,提示为无法从静态上下文中引用非静态方法 用static修饰的方法称为静态方法,修饰变量则为静态变量,又分别叫类方法或者类变量。 静态方法中不能直接调用非静态方法,下面代码我调用了speak()这个非静态的方法,所以报错。 只要不是static修饰的方法,必须要通过对象进行引用。 在非静态方法里,可能忽略了(this)。在静态的方法里,看看有没有你这个方法所在类的对象。 */ { if (a>0&&a<120) { age=a;//若符合将age给a speak();//并打印 } else System.out.println("false"); } public int getage() { return age;//返回一个 8f7a 年龄 } } class demo { public static void main(String[] args) { private2 p=new private2(); p.setage(-40); } }
相关文章推荐
- Java学习之CAS
- java map 里面判断相等的hashcode方法
- JAVA实现计数排序(牺牲稳定性,换取空间复杂度)
- Invalid project description. xxxx overlaps the location of another project: ‘xxx’
- java多线程2-总结
- java垃圾回收机制
- IO和NIO的区别
- java多线程1-生产者与消费者
- Java编程--关于JNI你应该知道的一切
- java.util.NoSuchElementException
- java线程同步简单例子
- Spring 源码分析(四) ——MVC(二)概述
- Java判断素数
- JAVA中方法的调用
- spring xml头文件xmlns和xsi的意思
- Android 在Eclipse中查看Android API源码以及support包源码
- <jps:setProperty name = "JavaBean实例名" property = "*"/>
- 使用RxJava实现的超简单事件总线RxBus
- java动态代理(JDK和cglib)
- java socket 编程