重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你把JAVA生成的两个.clsss文件找到,例如:A.class和B.class再建一个文本文件,把建的文本文件C.TXT把扩展名改为.mf,再用记事本打开这个文件,在里面写上这样的语句:
10年积累的网站设计制作、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有龙华免费网站建设让你可以放心的选择与我们合作。
Manifest-Version: 1.0
Main-class; A
Created-By: 1.5
然后在"开始"中打开"运行"打开输入"cmd"然后用CD把目录转化成那两个文件的目录,然后输入"jar cfm [要生成的文件名] C.mf A.class B.class"
这样就会生成一个文件,这个文件就是打包的文件,你可以双击运行.
java类中,是分四种级别的:public,private,保护,和默认级别。其中最常用的是public和private级别。java类封装,就是通过级别来控制的。private级别时,只可以类内部访问。public级别可让其他人使用。所以封住java类时,只要把你想封装的类资源写成private级别,再在类内部给它提供一个可被他人调用的public方法,这样,就实现了封装。大概就是这样吧
封装在java中有两种表现
1.用类封装一个事物的属性和方法。
2.用方法来封装一个固定的算法。
楼上所说的其实是封装的程度不一样,在面向对象的术语中粒度来表示这个程度。
封装其实是要看情况而定的,如果你这个类是描述人的,需要这个人完成一些基本的动作,如吃饭,走路,那么就不用把细胞也封装进来。但是如果“人”这个类,需要做医学的研究用,那么就需要封装细胞这个属性了。
代码打多了就自然能理解了,不是一个复杂的概念。呵呵。
编写User类添加属性 name,代码如下
public class User {
private String name;
public User(String name){
this.setName(name);
}
public void changeName(User u){
String uName = u.getName();
u.setName(this.name);
this.name = uName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
其中 changeName()用来交换对象的name属性.
编写测试类,代码如下:
public class Test {
public static void main(String args[]){
User zhangsan = new User("张三");
User lisi = new User("李四");
zhangsan.changeName(lisi);
System.out.println(zhangsan.getName());
System.out.println(lisi.getName());
}
}
new出张三李四两个对象,name分别为张三 李四,调用changeName()方法.输出张三李四的名字,会发现已经改变~~请采纳,不懂再问
public class Man {
//这里是对属性的封装,一个人的姓名,年龄,妻子都是这个对象(人)的私有属性
private String name;
private int age;
private Woman wife;
//这里是对改人对外界提供方法的封装,可以设置改男人的妻子,姓名,年龄也可以获取改男人的姓名和年龄
public void setWife(Woman wife) {
this.wife = wife;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class Woman {
//同样这里是属性封装
private String name;
private int age;
private Man husband;
//方法封装
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Man getHusband() {
return husband;
}
public void setHusband(Man husband) {
this.husband = husband;
}
}
/**
* 仔细看就会发现,Man类没有提供getWife的方法,这是以为男人不想让自己的妻子被外界访问,
*
* 直接下来呢,就是封装可以吧一个对象的属性私有,而提供一些可以被外界访问的属性的方法,
*
* 比如说,name属性,Man和Woman类都有相应的get和set方法,外界都可以通过这些方法访问和修改
*
* 同时对一些改对象不想让外界访问的属性,就不提供其方法,比如说Man的wife属性,就没有get方法
*
* 外界是不能带到Man类的wife属性的
*
* 呵呵
* 奇怪的是Woman类有husband的get方法,这就是封装的一点,还有的其他朋友也说到了
*/