百分求正解!!!基础题
java的三大特性之一的封装:
什么是封装?
为什么要封装?
封装会带来哪些好处?
封装的作用是什么?
如何实现封装?
求细节,详细解答!!!说明白就有分
[解决办法]
http://wq882519.blog.163.com/blog/static/981767920081015524299/
传送门
[解决办法]
Encapsulation is the technique of making the fields in a class private and providing access to the fields via public methods. If a field is declared private, it cannot be accessed by anyone outside the class, thereby hiding the fields within the class. For this reason, encapsulation is also referred to as data hiding.
封装这种技术可以让外部通过public方法访问该类中私有的区域。如果一个区域被声明为私有,那么它将不能被外部类看到,因此被这个类所隐藏,正是出于这个原因,封装也被用来隐藏数据。
Encapsulation can be described as a protective barrier that prevents the code and data being randomly accessed by other code defined outside the class. Access to the data and code is tightly controlled by an interface.
封装可以被形容为一个保护屏障,它可以防止代码和数据被外部类任意的随机访问。访问数据和代码被接口严格的控制。
The main benefit of encapsulation is the ability to modify our implemented code without breaking the code of others who use our code. With this feature Encapsulation gives maintainability, flexibility and extensibility to our code.
封装主要的好处是可以修改我们自己实现的代码而不必破坏其他人所写的代码。封装有可维护性,灵活性和扩展性。
以下代码就实现了一个简单的封装。
public class EncapTest{ private String name; private String idNum; private int age; public int getAge(){ return age; } public String getName(){ return name; } public String getIdNum(){ return idNum; } public void setAge( int newAge){ age = newAge; } public void setName(String newName){ name = newName; } public void setIdNum( String newId){ idNum = newId; }}
[解决办法]
摘自网络,感觉这样的解释还凑合!
封装性是指的把代码封装到大括号中,只能访问自己内部的数据,外边的东西访问不了.
继承性就是一个类声明继承另一个类,那么另一个类就是它 的父类,父类里边的变量跟方法子类可以直接拿来用,除非父类的访问权限不允许.
最基础的,首先你要了解JAVA中各种修饰词:private,protected,public,friendly,它们的可视范围
一般来说,越小的可视范围带来的是节省资源,和更快的访问速度,所以如果你的类中某些成员变量或方法不需要让所有其它的类访问,最好考虑正确的使用修饰词,以屏弊它被更多的类访问到
正确的使用这些修饰词还可以避免在继承和重载重写时的方法与成员变量的重叠,既便于维护代码,也不会让人产生编码或调用时的歧义.
[解决办法]
[解决办法]
封装性是指的把代码封装到大括号中,只能访问自己内部的数据,外边的东西访问不了.
继承性就是一个类声明继承另一个类,那么另一个类就是它 的父类,父类里边的变量跟方法子类可以直接拿来用,除非父类的访问权限不允许.
最基础的,首先你要了解JAVA中各种修饰词:private,protected,public,friendly,它们的可视范围
一般来说,越小的可视范围带来的是节省资源,和更快的访问速度,所以如果你的类中某些成员变量或方法不需要让所有其它的类访问,最好考虑正确的使用修饰词,以屏弊它被更多的类访问到
正确的使用这些修饰词还可以避免在继承和重载重写时的方法与成员变量的重叠,既便于维护代码,也不会让人产生编码或调用时的歧义.
[解决办法]
封装只是一种态度,C语言照样能封装。
由于封装是如此的重要,Java把它内置到语言中,但是如果没有这种态度,比如把所有的东西都放在public中,还是起不到应有的效果。
不好好做几个项目,练习一下,很难真正理解,因为它不是语言的一部分,而是属于对工程的思考。
[解决办法]
也来8卦一下
>什么是封装?
就是数据结构和算法实现隐藏起来,只提供必要的接口来访问。
就好像CPU,只能使用它的外部管脚,并不能直接访问内部的逻辑电路结构或某个元件
>为什么要封装?
通过隐藏内部细节来达到对象的保护
就好像CPU,不能直接访问其内部结构,使得它不能轻易被人篡改或破坏其内部电路逻辑
>封装会带来哪些好处?
封装可以增强安全性,同时还能简化编程,使用者不必了解内部的实现细节,只需知道如何调用外部接口来访问对象而获取希望的结果就可以了
>封装的作用是什么?
隐藏内部细节,增强安全性;简化编程,增强可维护性
>如何实现封装?
通过访问限制关键字来限定对象内部结构的可见或非可见级别
[解决办法]
这个问题问得好,说明你深入思考了,也就是说你只有调用类提供的set方法才可以修改其值,也就是说,如果这个类不提供给你set方法你就没办法修改其值,这样这个类就实现了封装,简单点说就是你只能修改我允许你修改的值,但是你无法修改我不允许你修改的值。
还是举例子,你的博客提供了回复功能,这样就可以有人回复你,但是你的博客是不允许其他人更改你博客内容的。
[解决办法]