Java类的特征

包的使用、访问权限
方法重载
静态成员
this关键字

补充
在数字后面加上f表示该数字是float型的,如果不写的默认的是double型。同理,加上l表示long型,如果不写默认int型。

1、包

Java使用包(package) 对类进行组织和管理。

1.1、包的作用

  1. 查找定位类
  2. 避免命名冲突
  3. 便于发布软件
  4. 保护类

1.2、包的命名习惯

  1. 包是有层次关系的, 一个包中还可以有包, 称为子包。
  2. 包名需要时唯一的, Java建议采用Internet域名的倒序作为包的前缀。
  3. Java中,包名与文件系统的目录结构一一对应。
  4. 把类添加到指定包中, 只需在源程序的最前端加上
package  包名;

2、访问权限

详细见我的文章——Java修饰符
https://www.jianshu.com/p/d1715b417ea5

2.1、数据域封装

  1. 作用:把对数据域的直接访问变成间接访问
  2. 实现:
    步骤一、使用private修饰数据域
private String name;

步骤二、为每个数据域创建访问器方法和修改器方法

public String getName() {
    return name;
}
public void setName(String name){
    this.name = name;
}

2.2、修饰方法

  1. 只在本类内部使用的方法使用private。
  2. 提供给其他类使用的方法使用public 或其他访问权限。
  3. 默认构造方法的访问权限与类的访问权限相同。

3、this关键字

  1. 在类的构造方法中使用, 调用本类的其他构造方法。
// 如果使用该语句, 必须在构造方法的第一句
this(实参表)
  1. 在类的构造方法和实例方法中使用,代表对当前对象的引用。
// 每个构造方法和实例方法中都隐含有一个this引用
this.实例变量名
this.实例方法名(实参表)

4、实例成员与静态成员

  1. static修饰是静态成员
    静态成员变量,静态方法

  2. 未用static修饰是实例成员
    实例成员变量,实例方法

  3. 静态成员变量
    静态变量在类加载到内存时分配内存空间,所有对象共享静态变量。

类名.静态变量名
  1. 实例成员变量
    实例变量只有其对象创建后才会分配内存空间,不同对象的实例变量互不影响。
对象名.实例变量名
  1. 静态方法
    类加载到内存时,为静态方法分配内存空间。
类名.静态方法()
  1. 实例方法
    ①当创建类的对象时,实例方法才会分配入口地址。
    ②多个对象的同一实例方法的入口地址是共享的。
对象名.实例方法()
public class StaticDemo {
    // 实例数据域
    int instanceData; 
    // 静态数据域
    static int staticData;   
    // 实例方法
    int instanceMethod() {  
        return instanceData;
    }
    // 静态方法
    static int staticMethod() {  
        return staticData;
    }
}

5、静态初始化器与实例初始化器

初始化器是直接在类中定义的用一对{}括起来的语句组。

  1. 静态初始化器使用static关键字修饰,用来初始化静态变量。
  2. 实例初始化器没有修饰关键字,用来初始化实例变量。
  3. 静态初始化器的执行:类首次加载到内存时,首先是静态数据域变量的变量初始化;然后按排列顺序执行类中staic初始化器。
  4. 在构造方法第一条语句执行之前,按排列顺序执行类中的实例初始化器,然后执行构造方法中的剩余语句。

6、方法重载

  1. 静态多态:基于重载(overload)实现
  2. 方法名称相同,形参列表不同

7、对象的应用

  1. Java的变量分为基本类型变量和引用类型变量。
  2. 基本类型变量存放在栈内存中。
  3. 引用类型变量在栈内存中存放其引用对象的地址。其“真身”在堆内存中。

7.1、对象的赋值与复制

赋值:两个引用变量之间进行赋值,赋值的是地址,使2个引用变量引用同一对象。

Circle c1 = new Circle();
Circle c2 = c1;      // 使c2和c1引用同一对象

复制:使用自定义类的clone方法。

7.2、对象的比较

  1. 使用 “==”
    比较的是地址
Circle c1, c2;
c1 == c2   // 两个引用指向同一对象结果为true,否则为false
  1. 调用API。
    ①String对象的equals方法是比较字符串的内容是否相同。Arrays对象的equals方法是比较数组的元素是否相同。
    ②除String对象外,Arrays对象外,其它对象的equals方法依然是比较地址是否相同
Arrays.equals(array1, array2);          // 比较2个数组
Arrays.deepEquals(array1, array2); // 深度比较2个数组
String s1, s2;
s1.equals(s2); //比较2个字符串

7.3、引用变量作为方法的返回值

// 方法定义
public Circle createACirlce(double radius) {
    Circle temp = new Circle();
    return temp;   //返回对象的地址
}
// 方法调用
Circle c = createACircle(10.0);  // c得到返回的对象地址

7.4、对象的组合

  1. 一个类的成员变量可以是Java允许的任何类型,当然也包括其它类的对象类型。
  2. 例如类A使用类B的对象作为成员变量,则A的对象把B的对象作为组成部分。称为:A has-a B。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354