十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
您好:
创新互联公司主要从事成都网站制作、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务达拉特,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
代码如下,供参考。定义类的成员变量,编写对应的方法。
class Student{
String name;
int age;
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 Student(String name,int age){
this.name = name;
this.age = age;
}
public void show(){
System.out.println("Student类,学生信息,姓名:"+name+",年龄:"+age);
}
}
封装在java中有两种表现
1.用类封装一个事物的属性和方法。
2.用方法来封装一个固定的算法。
楼上所说的其实是封装的程度不一样,在面向对象的术语中粒度来表示这个程度。
封装其实是要看情况而定的,如果你这个类是描述人的,需要这个人完成一些基本的动作,如吃饭,走路,那么就不用把细胞也封装进来。但是如果“人”这个类,需要做医学的研究用,那么就需要封装细胞这个属性了。
代码打多了就自然能理解了,不是一个复杂的概念。呵呵。
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方法,这就是封装的一点,还有的其他朋友也说到了
*/
java里面构造方法和封装属性的区别有如下几点:
1、构造方法的参数用来创建对象时初始化变量,属性的封装可以用来设置属性的值,和获取属性的值;
2、构造方法是没有返回值的,而属性的设值室友返回值的。
import java io BufferedReader;
import java io BufferedWriter;
import java io File;
import java io FileReader;
import java io FileWriter;
import java io IOException;
import java util ArrayList;
import java util List;
/**
* 用于对记事本的操作
*
* @author 沙琪玛
*
*/
public class NoteOperate {
// txt文件路径
private String filePath;
/**
* 构造函数
*
* @param filePath
* 文本文件全路径
*/
public NoteOperate(String filePath) {
this filePath = filePath;
}
/**
* 构造函数
*
* @param file
* 需要读取的文本文件
*/
public NoteOperate(File file) {
this filePath = file getPath();
}
/**
* 判断文本文件是否存在
*
* @return 存在返回true 否则返回false
*/
public boolean exists() {
File file = new File(this filePath);
return file exists();
}
/**
* 得到这个txt所有的列的数据 空行将自动跳过 并自动删除文字前后的空格
*
* @return ListString
* @throws IOException
*/
public ListString fileLinesContent() throws IOException {
ListString strs = new ArrayListString();
File file = new File(this filePath);
FileReader fr = new FileReader(file);// 建立FileReader对象 并实例化为fr
BufferedReader br = new BufferedReader(fr);// 建立BufferedReader对象 并实例化为br
String Line = br readLine();// 从文件读取一行字符串
// 判断读取到的字符串是否不为空
while (Line != null) {
if (! equals(Line))
strs add(Line trim());
Line = br readLine();// 从文件中继续读取一行数据
}
br close();// 关闭BufferedReader对象
fr close();// 关闭文件
return strs;
}
/**
* 创建一个空的记事本文档 如果这个记事本文档存在就不再创建 函数还未写实现部分br/ 如果文本已经存在则不再创建
*
* @throws IOException
*/
public void createEmptyNote() throws IOException {
File file = new File(this filePath);
if (!file exists())
file createNewFile();
}
/**
* 将内容写入这个文本 注意以前的内容将会被删除
*
* @param str
* 将要写入的内容
* @throws IOException
*/
public void writeString(String str) throws IOException {
File file = new File(this filePath);
BufferedWriter output = new BufferedWriter(new FileWriter(file));
output write(str);
output close();// 关闭BufferedReader对象
}
/**
* 在文本的指定行插入文字 如果该行已经存在 该行内容将会被删除 如果行号不存在 将会 *** 入到最后一行
*
* @param i
* 行号 行号为 时 将插入到最后一行
* @param str
* 将要插入的内容
* @throws IOException
*/
public void insertWords(int i String str) throws IOException {
ListString strs = fileLinesContent();
// 进行插入操作
if (i == || strs size() i) // 插入到最后一行
{
strs add(str);
} else { // 插入到文本中
strs set(i str);
}
// 重新写入到文本
StringBuffer *** = new StringBuffer();
for (String temp : strs) {
*** append(temp replace( \r\n )+ \r\n );
}
writeString( *** toString());
}
lishixinzhi/Article/program/Java/hx/201311/26945
封装就是写成一个类,放到一个头文件里,把文件放到工作区,调用头文件。