不管如何,这条路,我依旧会努力走下去。
** 总结本来写成一篇太长,所以分几篇来写咯;**
有时间可以看看
第一篇总结
Java面向对象的基本特征之一:封装性
封装性:
1、封装性的目的:保护某些属性和方法不被外部所看见。
//这里说一下自己学linux时老师教我这个封装类似的思想。其实就是比如你是开发者,开发了一个软件,然后你打算给用户用。那么你一定会进行封装,就是给一部分功能给用户操作使用。那么用户是不能完全使用所有功能的。就相当于设置一个VIP用户这个功能,你只有成为会员,那么你就可以拥有这个功能,而不是VIP是根本看不到也用不了。也不知道对不对?
2、封装的实现:为属性和方法进行封装是通过关键字private声明的。
实现该属性的set和get方法,为外部所访问。
例如:
package java面向对象;
/**
* @author asus
*
*/
//private 实现分装,外部不可直接调用。
//get set 是外界访问的接口。只有通过接口才能调用。
class Person{//类
private int age;//私有属性
private String name; //私有属性
public int getAge() {//公共方法
return age;
}
public void setAge(int age) {
if (age>=0 && age<150) { //判断年龄是否合法。若非法显示为0
this.age = age;
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void tell(){ //get是得到
System.out.println("姓名:"+getName()+" 年齡:"+getAge());
}
}
public class 封装性 {
public static void main(String[] args) {
/**
* @param args
*/
Person per = new Person();//定义新类;
per.setName("张三");//set是设置
per.setAge(30);
per.tell();
}
}
匿名对象:
匿名对象没有名字的实体,也就是该实体没有对应的变量名引用。
如果使用:
1,当对象对方法进行一次调用的时候,可以使用匿名对象对代码进行简化。
为什么只对方法,而不调用属性呢?因为匿名对象调用属性没意义。
如果对象要多成员进行多次调用,必须给对象起个名字。不能再使用匿名对象。
2,匿名对象可以实际参数进行传递。
例:
package java面向对象;
/**
* @author asus
*
*/
class Student{
public void tell() {
System.out.println("hello");
}
}
public class 匿名对象 {
public static void main(String[] args) {
/**
* @param args
*/
//正常对象
Student stu = new Student();
stu.tell();
//匿名对象
new Student().tell();//调用一次的情况可用匿名对象
}
}
构造方法:
1、格式:
访问修饰符 类名称(){
//程序语句;
}
2、注意点:
构造方法名称必须与类名一致。
构造方法没有返回值。
3、构造方法主要是为类中的属性初始化。
4、每个类在实例化之后都会调用构造方法,如果没有构造方法,程序在编译的时候回创建一个无参的什么都不做的构造方法。
5、构造方法也可以重载。
例如:
package java面向对象;
/**
* @author asus
*
*/
class People{
//构造方法
public People(int a) {
System.out.println(a);
}
}
public class 构造方法 {
public static void main(String[] args) {
/**
* @param args
*/
People per = new People(5);
}
}