博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java day 10
阅读量:5742 次
发布时间:2019-06-18

本文共 2578 字,大约阅读时间需要 8 分钟。

1、static:是一个关键字,用于修饰成员变量和成员方法

(1)特点:       a、被所有的对象所共享;       b、可以使用类名调用;       c、静态的加载优先于对象;       d、随着类的加载而加载   (2)注意事项:       A、静态方法:         a、可以调用静态的成员变量;         b、可以调用静态的成员方法;         c、不可以调用非静态成员变量;         d、不可以调用非静态成员方法;         e、静态方法只能调用静态的成员;         f、静态方法中不可以定义this,super关键字      B、非静态方法:        a、可以调用静态的成员变量;        b、可以调用静态的成员方法;        c、可以调用非静态的成员变量;        d、可以调用非静态的成员方法;        e、不可以定义静态变量;   (3)优点:        a、对对象的共享数据提供单独空间的存储,节省空间,没有必要每一个对象都存储一份;        b、可以直接被类名调用,不用在堆内存创建对象   (4)缺点:         访问具有局限性,只能访问静态

2、代码块:用{}括起来的代码

分类:    (1)局部代码块:存在于方法中,控制变量的生命周期(作用域)    (2)构造代码块:提取构造方法中的共性,每次创建对象都会执行,并且在构造方法执行之前执行(构造方法,构造代码块只有在创建对象时才会执行)         注意:构造方法名和类名相同,没有返回值    (3)静态代码块:随着类的加载而加载,只加载一次,加载类时需要做的一些初始化    (4)同步代码块

3、继承的特点:

(1)Java只支持单继承,不支持多继承(一个类只能有一个父类,不可以有多个父类) (2)Java支持多层继承     例:       class A{}       class B extends A{}       class C extends A{}

4、继承中成员变量的特点:

(1)子类只能获取父类非私有成员; (2)子父类中成员变量的名字不一样,直接获取父类的成员变量; (3)子父类中成员变量的名字一样,获取的是子类的成员变量; 注意:    就近原则:     (1)如果有局部变量就使用局部变量;     (2)如果没有局部变量,有子类的成员变量就使用子类的成员变量;     (3)如果没有局部变量和子类的成员变量,有父类的成员变量就使用父类的成员变量;     (4)如果什么都没有就出错了 super:可以获取父类的成员变量和成员方法,用法和this是类似的

5、继承中成员方法的特点:

(1)子类中没有这个方法,调用父类的;  (2)子类中重写了这个方法,调用子类的  注意:  (1)方法的重写:           在子父类中,子类的方法和父类的完全一样,子类重写了父类的方法(覆盖),当子类重写了父类的方法之后,使用子类对象调用的就是子类的方法;  (2)方法的重载:           在一个类中,有多个重名的方法,但是其参数不一样(参数的个数,参数的类型,参数的顺序),和返回值无关

6、方法重写的应用场景:当父类的方法不能完全满足子类使用,这个时候子类重写父类的方法,并可以在方法中使用关键字super调用父类的方法,这样既可以保有父类的功能,也可以拥有子类特有的功能

注意:     (1)不能重写父类私有的方法;     (2)权限必须大于等于父类方法的权限     (3)重写的注解为:@Override

7、继承中构造方法的执行顺序:

(1)在有子父类继承关系的类中,创建子类的对象,调用子类的构造方法,如果子类构造方法的第一行代码没有调用父类的构造方法,则会默认调用父类的无参   构造(先执行父类的构造,因为要先给父类的成员变量进行初始化,子类可能会使用到);  (2)可以使用super()在子类构造方法的第一行中调用父类的构造方法   注意:肯定有一个子类构造没有去调用其他构造

8、this和super的区别:

(1)this:当前对象的引用        a、调用子类的成员变量;        b、调用子类的成员方法;        c、在子类的构造方法第一行调用子类其他构造方法  (2)super:子类对象的父类引用        a、调用父类的成员变量;        b、调用父类的成员方法;        c、在子类的构造方法第一行调用父类的构造方法

9、继承的优缺点:

(1)优点:       a、提高了代码的复用性;       b、提高了代码的可维护性  (2)缺点:       类的耦合性增强了(开发原则:高内聚(自己完成某件事的能力),低耦合(类与类的关系)

10、abstract:关键字,用于修饰方法和类

(1)抽象方法:不同类的方法是相似,但具体内容又不太一样,所以只能抽取他的声明,没有具体的方法体,没有具体方法体的方法就是抽象方法;  (2)抽象类:有抽象方法的类必须是抽象类   注意:一个类继承了抽象类需要重写他所有的抽象方法,否则这个类就得是抽象类

11、抽象类的特点:

(1)抽象方法只能在抽象类里面;  (2)抽象类和抽象方法必须被abstract修饰;  (3)抽象类不能创建对象(不能实例化);  (4)抽象类中可以有非抽象的方法;  (5)抽象类和类的关系也是继承;  (6)一个类继承了抽象类要么重写所有的抽象方法,要么他自己是抽象类

12、抽象类的成员特点:

(1)成员变量:      a、可以有成员变量;      b、可以有常量  (2)成员方法:      a、可以有抽象方法;      b、可以有非抽象方法  (3)构造方法:      可以有构造方法,需要对抽象类的成员变量进行初始化 注意:final修饰类、成员变量、成员方法,abstract不能和final(不能重写,不能继承),private(私有,不可见)共存

转载于:https://www.cnblogs.com/cqxljj/p/10249722.html

你可能感兴趣的文章
Spring Transactional
查看>>
shell脚本实例
查看>>
我的友情链接
查看>>
Windows Phone 7 隔离存储空间资源管理器
查看>>
Microsoft Excel 2000/2003修复工具
查看>>
apache安装报错undefined reference ssl
查看>>
关于爱情只有一句忠告
查看>>
CentOS 7下安装部署Oracle11g图文教程
查看>>
F#初学笔记06
查看>>
实战:将企业域名解析委派给企业DNS服务器
查看>>
在Lync 2013环境部署Office Web Apps
查看>>
微软大会Ignite,你准备好了么?
查看>>
读书笔记-高标管事 低调管人
查看>>
Master带给世界的思考:是“失控”还是进化
查看>>
用户和开发者不满苹果iCloud问题多多
查看>>
java.lang.UnsatisfiedLinkError:no dll in java.library.path终极解决之道
查看>>
我的工具:文本转音频文件
查看>>
【许晓笛】从零开始运行EOS系统
查看>>
【跃迁之路】【460天】程序员高效学习方法论探索系列(实验阶段217-2018.05.11)...
查看>>
C++入门读物推荐
查看>>