概述
封装
需求 事物 行为 归属
面向对象程序员
多多查阅 JDK-API文档.CHM
Java已经设计好了许许多多的对象,只需将处理的数据交给它,调用其中的操作即可,不需要自己去写代码
面向对象的三大特征: 封装 继承 多态
封装 告诉我们如何正确设计对象的属性和方法
对象代表什么,就得封装对应的数据,并提供数据对应的行为
public class Circle {
double radius;
public void draw(){
sout("根据半径" + radius + "画一个圆")
}
}
人只是调用了圆的一个方法去画了一个圆而已
面向对象的程序设计
类比于人给门一个作用力,门自己关上了(门会封装一个状态数据)
网络编程也需要Socket对象来进行网络连接
封装思想
创建对象调方法即可
对象代表什么,就得封装对应的数据,并提供数据对应的行为
这实际上大大降低了我们学习的成本
我们有许许多多的对象,每个对象中也拥有许许多多的方法
例如String 用来代表需要操作的字符串
面向过程去编程(主要是C语言)就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
而面向对象(c++,c#,java,delphi)是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。
我们所面对的是一堆对象 ,一堆方法
我们的JDK-API文档.CHM就相当于字典
有什么事情,找对象,调方法
从而写出安全健壮的代码
private 关键字
- 是一个权限修饰符 同 public
- 可以修饰成员(也即成员变量和成员方法)
- 被 private 修饰的成员只能在 本类 中才能访问 (私有) 不让外界直接访问
- public 表示在所有的类当中都可以使用其修饰的成员
正确的可以赋值,错误的不可以
导致每次判断不方便,还是 private 私有掉比较好(数据安全)
过滤通道
Java中当定义了一个私有的成员变量的时候,如果需要访问或者获取这个变量的时候,就可以编写 set 或者 get 方法去调用,set 是给属性赋值的,get 是取得属性值的,被设置和存取的属性一般是私有的,主要是起到封装作用不允许直接对属性进行操作。
在类中使用 set 和 get 方法时,都是在 set 和 get 后面跟上一些特定的词来形成特定意思的方法名,比如 setAge () 和 getAge (),表示设置年龄和获取年龄
setAge 赋值通道
getAge 获取通道
通过private私有关键字保证数据的安全性
通过get() or set(参数) 方法 (都用public修饰) 来进行数据传递(访问 操作)
同时在方法里可以进行判断
this 关键字
set 赋值 get 提供返回值(获取)
局部变量 :定义在方法里面
成员变量 :定义在类里面,方法的外面
重名时就近原则
public class GirlFriend {
private int age; // 成员变量
public void method(){
int age = 10; // 局部变量
System.out.println(this.age);
}
}
就近原则 : 谁离我近 , 我就用谁
this.关键字:直接使用成员位置的变量(打破默认的就近原则)
构造方法(一种特殊的方法)
也即 构造器 构造函数
作用:在创建对象的时候给成员变量进行初始化(赋值)的
修饰符 类名(参数) {
方法体;
}
public Student(String name, int age) {
this.name = name;
this.age = age; // 直接保证赋值给成员变量
}
特点:
- 方法名与类名相同,大小写也一致
- 没有返回值类型,连void都没有(函数没有返回值)
- 没有具体的返回值(不能由 return 带回结果数据)
空参构造方法
带全部参数构造方法
创建对象时的执行时机
- 创建对象的时候,由虚拟机调用,不能手动调用构造方法
- 每创建一次对象,就会调用一次构造方法
默认无参的构造方法取决于是否自己定义构造方法(Java会默认添加)
构造方法的重载
- 带参构造方法,和无参构造方法,二者方法名相同,但是参数不同,也即构造方法的重载
推荐:无论是否使用,都手动书写无参构造方法,和带全部参数的构造方法
方便于实际开发和团队作业
构造方法的作用: 在创建对象的时候,由虚拟机自动调用,给成员变量进行初始化
由于Java的默认设置,任何类定义出来就自带了无参构造器
一旦定义了有参构造器,无参构造器就没有了,此时就需要自己写无参数构造器了,这非常重要
然而调用构造方法 只是 创建对象的一步 而已
最后
以上就是娇气小兔子为你收集整理的【Java】 Notes and Insights 8 【面向对象 封装 数据与行为 private关键字 过滤通道 this关键字 构造方法 成员变量初始化 构造方法的重载】封装封装思想this 关键字构造方法(一种特殊的方法)构造方法的重载的全部内容,希望文章能够帮你解决【Java】 Notes and Insights 8 【面向对象 封装 数据与行为 private关键字 过滤通道 this关键字 构造方法 成员变量初始化 构造方法的重载】封装封装思想this 关键字构造方法(一种特殊的方法)构造方法的重载所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复