黑马程序员-简议内部类及Oblect类

------- android培训java培训、期待与您交流! ----------

1:内部类

(1)在一个类A里面定义了一个类B,B类就被称为内部类。
(2)什么时候使用内部类:
当两个类存在如下关系:
A可以直接使用B类的成员
B类使用A的成员时需要创建对象
就可以吧A类定义为B类的内部类。
(3)内部类的位置:
成员位置:成员内部类 定义在成员位置上
局部位置:局部内部类 定义在方法中
(4)成员内部类要掌握的修饰符:
A:private
一般成员内部类都会有private修饰。起到封装的作用。
这样外界就不能去创建对象了。
B:static
用外部类做限定使用内部的内容。
(5)局部内部类
A:普通局部内部类 -- 很简单
B:匿名局部内部类(掌握 -- GUI,Android)
a:就是没有名字的局部内部类。
b:前提 外界存在这个一个类(抽象类)或者接口(大部分都是接口)。
c:格式:
new 类名或者接口名()
{
重写方法;
或者自定义方法(不建议)
};


注意:其实这是一个实现了接口的匿名对象


2:包及导包
(1)包 
A:文件夹,用于区分同名的类。
B:定义包格式(掌握)
package 包名;
C:注意:
包定义必须放在程序的第一行。不管注释。
使用的时候,要注意类的全路径 包名.类名
D:带包的编译和运行
a:手动创建包
b:自动创建包


(2)导包
A:如果每次都是全路径使用类,太麻烦。所以java提供了关键字供我们使用。
import
B:格式:
import 包名.xx.yy.类名;
(3)面试题
包,导包,类名的定义顺序。


package cn.itcast;
import java.util.Scanner;
public class Test
{

}


3:权限修饰符
我通过不同包下类之间的访问测试了权限修饰符
规则如下:
本类 同一个包下 不同包的子类 不同包的无关类
private Y
默认 Y Y
protected Y Y Y
public Y Y Y Y


注意:
一般:成员变量都是private。成员方法都是public。

4:其他修饰符的组合使用
成员变量 成员方法 构造方法
private Y Y Y
默认 Y Y Y Y
protected Y Y Y
public Y Y Y Y
final Y Y Y
static Y Y
abstract Y Y



组合使用:
类:权限修饰符+abstract/final
成员变量:权限修饰符+final/static/fianl static+数据类型 变量
成员方法:权限修饰符 abstract/static/final+返回值类型+方法名


5:Object
(1)Object类是所有类的根类。超类。所有类都直接或者间接继承自Object类。
(2)Object的方法:
A:toString() 返回的是对象的字符串表示。没有什么意义,一般也会重写。
B:hashCode() 返回对象的哈希值
C:getClass() 返回的是字节码文件对象的描述类对象(反射)
D:finalize() 用于垃圾回收使用
E:equals()   默认情况下,比较对象的地址值。可能会根据需求重写。
(3)案例:
class Student
{
private String name;
private int age;
private String address;


public Student(){}


//带参构造...
//get/set方法省略


public String toString()
{
return "name:"+name+",age:"+age+",address:"+address;
}


public boolean equals(Object obj)
{
if(this==obj)
{
return true;
}


if(!(obj instanceof Student))
{
return false;
}


Student s = (Student)obj;
return this.name.equals(s.name) && this.age == s.age && this.address.equals(s.address);
}

}

------- android培训java培训、期待与您交流! ----------


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值