第十一节 java面向对象,封装的简单介绍
2017-12-04 21:32
316 查看
封装得关键在于:一个类不允许直接修改另一个类的实例域,程序仅仅通过对象的方法与对象数据进行交互
/** * Created by Administrator on 2017/12/4. */ public class Person { public String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; }}
**
* Created by Administrator on 2017/12/4.
* 声明一个学生对象,包含私有的属性name和age
* 对外提供get set方法来获取与设置对象的属性
*
* 对象包含属性与方法:属性是定义此对象的状态,方法是用来改变对象的状态的
*
* private修饰变量代表此属性私有化,只有类中可以访问,类外事无法直接访问的
* 这样就保护了直接修改变量,只能通过方法来进行访问与修改,但是如果说类中的属性
* 不需要外界修改,那么完全可以不提供get,set方法,达到保护的目的
*
*/
public class Student {
private String name;//成员变量
private int age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
**
*对象封装的意义:属性私有化,对象只向外暴露修改属性的方法,而不直接向外暴露属性
* 这样可以控制属性的访问
*
* 如果属性私有化,那么如果不想外部修改某个属性的状态,那么可以直接不提供此属性的修改方法
*
* 并且在修改或者获取属性时,还可以对方法进行统一的管理,例如:已经过了一年,那么所有人年龄都会
* 加一岁,那么在获取年龄的时候,就可以向如下的get方法写,所有在获取年龄的时候都会+1
* public int getAge() {
* return age+1;
* }
*/
public class base01 {
public static void main(String[] args) {
/**
* 使用new 关键字创建对象,所有的对象都继承object类,如果类中没有显示的定义
* 构造函数,那么会调用object的无参构造函数创建对象
*/
Student s=new Student();
//为student的age和name进行set赋值
s.setAge(12);
s.setName("xiaohei");
String name=s.getName();
int age=s.getAge();
System.out.println(name);//xiaohei
System.out.println(age);//12
System.out.println("----------------------");
/**
* Person类定义了:public修饰的name属性,private修饰的age属性
* 并且显示的定义了构造函数,如下
*/
//此时编译不通过,因为已经显示的提供了有参的构造函数,那么久不能调用父类Object中的无参构造函数了
//Person p=new Person();
//此时直接创建了一个对象,并且name等于xiaohei,age=12
Person p=new Person("xiaohei",12);
//由于name属性是public修饰,所以可以随意的利用object.filed进行访问与修改,如下:
p.name="laowang";
System.out.println(p.name);//laowang 直接可以进行修改
//此种方式编译无法通过,因为此属性是私有化的,无法直接访问
//p.age=12;
}
}
相关文章推荐
- (JAVA SE 学习笔记)Java.SE.第010讲.面向对象之封装.续
- Microsoft AJAX Library中的面向对象简单介绍
- 大三学长带我学习JAVA.作业5.面向对象之封装 面向对象之封装.续 学长带我学java的作业5
- java第六课:面向对象程序设计-封装
- Java--面向对象之一:面向对象概念、类和对象的关系、封装、构造函数、this关键字、static关键字
- (JAVA SE 学习笔记)Java.SE.第011讲.面向对象之封装.续二(对一些原理机制进行了详细的解释,适合初学者学习)
- 第十一节::面向对象之封装续二
- Java学习系列(四)Java面向对象之修饰符、封装、继承、多态详解
- java面向对象基本思想--封装继承多态
- 黑马程序员--03.Java面向对象--01.【OOP基本概念】【匿名对象】【封装】【构造函数】【this关键字】
- 黑马程序员:Java之介绍对象、封装、构造函数、构造代码块及this关键字
- CG学习(2)——CG的基本语法及核心函数的面向对象简单封装
- Java学习系列(四)Java面向对象之修饰符、封装、继承、多态详解
- 黑马程序员—java面向对象总结(2)—面向对象封装特性
- JAVA基础第五天学习日记_面向对象开发思想、匿名对象、封装、私有、构造函数
- 【java基础】--(2)面向对象特征之概念、封装、继承
- 通过JAVA反射实现简单的ORM,将查询结果封装为对象
- Java基础05:面向对象;类与对象;匿名对象;成员变量;局部变量;封装;构造函数
- (JAVA SE 学习笔记)Java.SE.第009讲.面向对象之封装
- java面向对象基础_final详细介绍