善于封装代码java经验 什么叫封装java

在java中怎样将自己写的方法封装,以便在以后随时可以调用(要详细的解说,附图和代码封装就是写成一个类 , 放到一个头文件里,把文件放到工作区,调用头文件 。
java封装get和set都是类定义的方法 , 你的变量是private型的 , 就是私有类型,其他类都不能访问私有类型的变量,所以要在这个类内部设个能访问这些变量的方法,就是get和set , 别个类要访问这两个私有变量的话,就可以通过这些方法来访问了 。
如果有个Test类
public class Test {
public static void main(String[] args) {
Man m = new Man();
m.age = 12;
m.name = "ddaf";这两个写法都是错了 , 因为不能直接访问age , 和name;
要写成这样 m.setage(12);m.setname('dadfa');这样才对;
}
}
关于java的封装这个是为善于封装代码java经验了以后编程提供一个接口善于封装代码java经验 , 善于封装代码java经验你这个程序不写上去也是对的善于封装代码java经验,但是谁能保证你以后不会用到这个函数呢 。
如何对java源代码进行封装?你把JAVA生成的两个.clsss文件找到,例如:A.class和B.class再建一个文本文件,把建的文本文件C.TXT把扩展名改为.mf,再用记事本打开这个文件,在里面写上这样的语句:
Manifest-Version: 1.0
Main-class; A
Created-By: 1.5
然后在"开始"中打开"运行"打开输入"cmd"然后用CD把目录转化成那两个文件的目录,然后输入"jar cfm [要生成的文件名] C.mf A.class B.class"
这样就会生成一个文件,这个文件就是打包的文件,你可以双击运行.
在Java程序中,代码封装带给我们的好处是什么?说给人家听,我们就说的通俗简单点: 代码封装的好处:第一点在于安全,JAVA中类的一个属性,我们一般会在类中将其私有化然后getter和setter方法对外提供得到和设置的方法,这就好比自动存提款机,钱就是我们要的属性,要的数据,放在那直接去拿可以吗?很明显不行,所以自动存提款机提供了取钱的方法和存钱方法,而你不用知道钱从哪来要到哪里去 。第二点在于方便:方法也是封装的一种体现,有一个功能我们要反复调用,每次写同样的代码吗?答案很明显,不要?。颐切锤龇椒ǎ颜舛喂δ艽敕庾俺梢桓龇椒ǎ枰氖焙虻饔梅椒涂梢粤?,不是吗? 关于package:如果一个项目很大的话,会分成很多小组,每个小组会有很多开发人员,大家在编写代码时说不定会出现同样的类名,问题就来了,我在调类的时候,调的是哪个?所以每个小组用不同的包名,这样来区分类所在的位置 。好,如果你说项目编码之前详细设计说的很清楚了,类不可能出现同名,那么包的另外一个好处在于相似用途的类放在一个包下可以方便管理和查找,比如java.util包,如查没有包的存在,我想查API看有哪些集合框架,你说方便不 权限修饰符的作用就是:你很有钱,你愿意告诉谁你很有钱需要的时候可以来找你,你的亲属?你的儿子?还是全世界的所有人?你自己有必要告诉谁那么他们缺钱的时候就会想到你
求高手指导JAVA封装技巧,本人封装的太差了 , 有时自己头都昏了封装性是整个面向对象的第一大特性,所谓的封装性几是指类内部的操作对外部不可见 。
范例:观察如下的程序问题
class Person { // 类名称的单词首字母必须大写
String name ;// 姓名,是一个字符串所以使用String
int age ; // 年龄是一个整数,所以使用int
public void tell(){ // 定义一个方法
System.out.println("姓名:"name",年龄:"age) ;
}
【善于封装代码java经验 什么叫封装java】}
public class ClassDemo {
public static void main(String args[]){
Person per = new Person() ;
per.name = "张三" ;
per.age = -30 ;
per.tell() ;
}
}
此时的程序从技术(语法)上而言没有任何的问题,但是从实际的生活(业务)上来看,一个人的年龄绝对不可能是-30岁,所以这个时候造成问题的主要原因就是类中的操作对外部可见 。
此时 , 就可以通过封装性来解决此类问题,如果现在要想对类中的属性或方法封装,可以直接使用private关键字完成 。
class Person { // 类名称的单词首字母必须大写
private String name ;// 姓名,是一个字符串所以使用String
private int age ; // 年龄是一个整数 , 所以使用int
public void tell(){ // 定义一个方法
System.out.println("姓名:"name",年龄:"age) ;
}
}
public class ClassDemo {
public static void main(String args[]){
Person per = new Person() ;
per.name = "张三" ;
per.age = 99999 ;
per.tell() ;
}
}
此时 , 程序编译之后出现了以下的错误信息:
ClassDemo.java:11: name has private access in Person
per.name = "张三" ;
^
ClassDemo.java:12: age has private access in Person
per.age = 99999 ;
^
2 errors
由于name和age两个属性被private声明了(封装了 , 私有)所以,现在根本无法被外部所访问,很明显 , 此时的属性绝对安全,但是封装归封装了,一个问题就出现了,现在的属性无法操作了,无法操作就没有意义了,所以此时,就可以给出一个概念,以后凡是类中的属性在定义的时候必须封装,封装之后的属性一定要通过setter、getter方法设置和取得 。Setter和getter方法本身有自己的命名规范 。
? 例如:private String name ;
? setter:public void setName(String na)
? getter:public String getName()
class Person { // 类名称的单词首字母必须大写
private String name ;// 姓名,是一个字符串所以使用String
private int age ; // 年龄是一个整数,所以使用int
public void setName(String n){
name = n ;
}
public void setAge(int a){
age = a ;
}
public String getName(){
return name ;
}
public int getAge(){
return age ;
}
public void tell(){ // 定义一个方法
System.out.println("姓名:"name",年龄:"age) ;
}
}
public class ClassDemo {
public static void main(String args[]){
Person per = new Person() ;
per.setName("张三") ;
per.setAge(99999) ;
per.tell() ;
}
}
此时,虽然是通过setter和getter方法间接的访问了私有属性,但是却没有检验,一旦需要检验,则检验的操作应该放在setter语句之中 。
所有的设置应该在setter中完成 , 而getter方法只是将内容简单的返回即可 。
class Person { // 类名称的单词首字母必须大写
private String name ;// 姓名,是一个字符串所以使用String
private int age ; // 年龄是一个整数 , 所以使用int
public void setName(String n){
name = n ;
}
public void setAge(int a){
if(a0a200){
age = a ;
}
}
public String getName(){
return name ;
}
public int getAge(){
return age ;
}
public void tell(){ // 定义一个方法
System.out.println("姓名:"name" , 年龄:"age) ;
}
}
public class ClassDemo {
public static void main(String args[]){
Person per = new Person() ;
per.setName("张三") ;
per.setAge(99) ;
per.tell() ;
}
}
此时,就通过封装性解决了设置错误内容的问题 。
一定要注意的是,封装性出了在属性声明上外,也可以在方法上声明 。
private void info(){ // 私有方法
System.out.println("*************************") ;
}
public void tell(){ // 定义一个方法
this.info() ;
System.out.println("姓名:"name",年龄:"age) ;
}
如果现在调用的是本类中的方法 , 可以通过“this.方法()”的形式访问 。
这个是MLDN李兴华老师将封装性的时候介绍的,你可以看下
关于善于封装代码java经验和什么叫封装java的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读