A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© shilu 中级黑马   /  2015-10-14 10:23  /  261 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

封装:
就是把代码的具体实现隐藏起来
指的是 把对象的属性与方法的实现细节隐藏起来,对外提供公共访问方法

封装的使用:
成员变量进行封装, private
方法

------------------
private : 私有的意思
它可以修饰类中的成员(成员变量,成员方法)

特点:
  被private 修饰的成员,只能在当前类(本类)中访问
  
----------------
this: 当前类的对象的引用
class Person {
  public void method(){
   this... 代表的就是 Person类对象的引用
  }
}
作用:
  区分局部变量与成员变量重名问题:
  通过 this.成员变量 的方式访问重名的 成员变量
  public void setName(String name) {
   this.name = name;
  }
-------------------
构造方法:特殊的方法
构造方法的格式:
  修饰符 类名 (参数列表) {
   code...
  }
  例如:
  public Person () {
  }
特点:
  没有返回值,也没有返回值类型,连void都没有
  构造方法的名称与类名相同
  构造方法可以方法重载, 如何进行方法重载,通过参数列表的不同来实现
  
  public Person () {
  }
  public Person(String name) {
  }
------------------
方法的划分:
返回值划分:
  有明确返回值的方法
  没有返回值void类型的方法

参数列表划分:
  有参数的方法
  没有参数的方法
------------------
类的初始化过程:
class Person {
  private String name = "无名者";
  //构造方法省略
  
}
Person p = new Person("小明");
1, 加载Person.class 字节码文件到内存
2, 在栈内存中,创建 p变量
3, 在堆内存中,开辟一块内存空间,用来存储Person对象数据
4, 在堆内存中,完成对象的成员变量默认初始化赋值操作
   相当于 给 name 赋值为 null
5, 在堆内存中,完成对象的成员变量的显示初始化赋值
   相当于 给 name 赋值为 "无名者"
6, 通过方法区中的构造方法,实现给对象中的成员变量赋值
    Person("小明"); 给 name 赋值为 "小明"
7, 把对象在堆内存中的地址的引用(0x1234), 赋值给栈内存中的变量 p
---------------
static : 静态的意思
修饰类中的成员(成员变量,成员方法)
特点:
  1,被static修饰的成员,可以被所有对象所共享
  2,被static修饰的成员,可以通过类名的方式访问
  3, 静态的成员,随着类的加载而存在,优先于对象存在

注意事项:
  在静态方法中没有 this
  在静态方法中,只能访问静态的成员(静态成员变量,静态成员方法)
  
静态变量和成员变量的区别
  内存位置:
   静态变量: 方法区的静态区中
   成员变量: 对内存中
  什么时候存在的:
   静态变量: 随着类的加载而存在,随着类的消失而消失
   成员变量: 随着对象的创建而存在,随着对象的消失而消失
  调用方式:
   静态变量:通过类名调用, 通过对象名调用
   成员变量:通过对象名调用
  所属不同:
   静态变量:随着类的加载而存在,它是与类相关的,属于类
   成员变量:随着对象的创建而存在,它是与对象相关的,属于对象
   
--------------------------
main主方法的解释
public static void main(String[] args) {}

public : 被jvm调用,访问权限足够大
      权限修饰符 public > protected > 默认 > private
static : 被jvm调用,不用创建对象,直接类名访问   StaticDemo4.main();
void : 被jvm调用,不需要给jvm返回值
main : 一个通用的名称,虽然不是关键字,但是被jvm识别
String[] args : 以前用于接收键盘录入的
   以前输入数据方式: java StaticDemo4 123 abc def
----------------------------
数组工具类的编写:

符号:
@version : 版本号的描述
@author  : 作者的描述
@param   : 参数的描述
@return  : 返回值的描述

帮助文档制作的方式:
  javac -d doc -author -version ArrayTools.java
  
注意事项:
  想生成描述文字,需要使用文档注释
  需呀生成帮助文档的类,使用使用 public 修饰
  
--------------------------










评分

参与人数 1技术分 +1 收起 理由
洋葱头头 + 1

查看全部评分

2 个回复

倒序浏览
顶!!!!
回复 使用道具 举报
java的封装类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马