Java-第三章

3.1访问控制级别

1.        public:所有类都可以访问

2.        protected:同一包中的类或子类可以访问;不可修饰类

3.        private:类内部可访问;不可修饰类

4.        default:默认;当前目录(包)下的类可访问

3.2类

1.        类的成员变量拥有默认值;而普通的局部变量没有

2.        一个java文件,只允许一个public类;且该类名与java文件名相同

3.        方法的所有代码都要写在类中

4.        类内,可以使用声明在其后面的成员

5.        类中每一对象的数据成员占用不同的内存地址;类中所有对象的方法共享同一内存地址

6.        构造函数:保证一创建对象就对其进行初始化

1)        没有返回类型,void也不是;与类同名

2)        没有则生成默认构造

3)        自动调用;无法显式调用

7.        垃圾回收机制

1)        Java提供了一个垃圾收集器进程

2)        System.gc():建议回收

3)        finalize方法:对象销毁时自动调用

4)        this关键字:指向调用其所在函数的对象;也可用于调用其所在类的重载构造函数(必须放在第一行)

3.3访问修饰符和隐藏实现

1.        包

1)        用import导入,用“.”分隔目录;“*”表示所有

2)        定义包:package 包名;将类放到包中,必须确保编译出来的字节码文件也在包中(目录)

3.4继承

1.        可多层继承,但不能同时继承多个父类(即只能单一继承)

2.        用法:[类修饰符] class 类名extends 父类名

3.        super:向父类的构造传递参数;必须放在子类构造的第一行

4.        所有类都是Object类的派生类

3.5多态性

1.        面向对象的多态性包括编译时多态和运行时多态

1)        编译时多态主要体现在函数重载

2)        运行时多态主要体现在函数重定义

2.        方法重载:参数列表的不同(包括其声明顺序)

1)        注意类型可以隐式转换

2)        子类类型可转换为父类类型

3.        方法重定义:子类定义的方法覆盖父类的方法;要求:

1)        返回类型相同;参数表相同

2)        访问控制比父类方法更公开或一样

3)        只能抛出父类方法声明抛出的异常

3.6修饰符

1.        public、private、protected:可修饰方法

2.        static:表示该成员属于类

1)        可修饰类中方法、成员变量(包括其他类的对象)、成员常量,但不可修饰方法中的变量

a)        还可以修饰代码块

b)        静态代码块是指位于类内,但不属于方法内;仅在类第一次使用时执行一次该类的所有对象的static成员共享同一地址;

a)        虽然不属于某一对象,但可用对象对其进行访问;也可用“类名::”访问

2)        只需初次使用时初始化

3)        静态方法只能访问静态数据或静态方法

4)        静态数据成员的默认值为0

3.        final:只能赋值一次

1)        可以修饰非抽象类、非抽象方法(不能修饰构造)、普通变量

2)        final类不能被继承;final类中的方法默认是final(构造除外)

3)        final方法不能被子类覆盖

4)        不能使用没有初始值的final数据

5)        类内的所有private方法都自动被设置final方法

4.        abstract:抽象

1)        可以修饰方法、类

2)        含有抽象方法的类必须定义为抽象类

3)        抽象类必须被继承,抽象方法必须被重写

4)        抽象方法没有方法体;不能用final、static修饰

5)        抽象类不能进行实例化,即不能定义其对象

6)        如果抽象类的子类不为抽象类,则子类必须实现父类的所有抽象方法

3.7接口(interface)

1.        接口不能new关键字进行实例化

2.        接口的所有方法没有方法体

3.        可同时继承多个父类;用逗号隔开

4.        接口继承接口:[修饰符] interface 接口名 extends 父接口名1

5.        类继承接口:[修饰符] class 类名 implements 接口名1 [接口名2 …]

1)        如果一个类继承了某接口,则它必须实现该接口的所有方法

2)        如果接口的方法的返回类型是void,类中实现方法体可仅是大括号

3)        当类继承了一个继承了其他接口的接口,则其所有接口都需要实现方法体

6.        接口的方法默认为public;所以类中实现接口的方法时必须修饰为public

7.        接口修饰符

1)        public:可被任一类使用

2)        没有修饰符:友好接口,可被同一包中的类使用

3.8嵌套类

1.        成员类

1)        在类的内部定义类

2)        必须首先创建外围对象然后才可用它创建内部对象

3)        静态成员类

a)        实例化静态类时,在new面前不需要用对象变量

b)        静态类中只能访问其外部类的静态成员

c)        静态方法中不能不带前缀地实例化一个非静态类

1.        局部类:为某个类的局部
2.        匿名类:没有名字的内部类


3.9枚举

1.        枚举内不能有public构造方法;所有的枚举都是public、static、fianl的;

2.        枚举中可有枚举值、变量、方法;当枚举值必须在前面


上一章                                                                                                下一章

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值