黑马程序员———JAVA面向对象程序设计基础笔记

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

通过对Java基础知识的学习,现将在开发过程中经常用到的知识汇总:

 

什么时候使用静态?

 1.什么时候定义静态变量(类变量):

   当对象中出现共享数据时,

 2  什么时候定义静态函数?

   当功能内部没有访问到非静态(对象的特有数据)

 静态变量与静态函数的加载 是随类的加载而加载的

 

在对子类对象进行初始化时,父类的构造函数也会运行,

那是因为子类的构造函数默认第一行有一条隐式的语句 super()

Super():会访问父类中空参数的构造函数,而且子类中所有的构造函数默认第一行都是Super().

 

为什么子类一定要访问父类中的构造函数。

 

因为父类中的数据子类可以直接获取,所以子类对象在建立里,需要先查看父类是如何对这些数据进行初始化的,

所以子类在对象初始化时,要先访问一下父类中的构造函数。

如是要访问父类中指定的构造函数,可以通过手动定义super语句的方式来指定。

 

注意:super语句一定定义在子类构造函数的第一行。

子类的所有构造函数,默认都会访问父类中空参数的构造函数。

因为子类中每一个构造函数的第一行都有一句隐式super().

 

当父类中没有空参数的构造函数进,子类必须手动的通过super语句的形式来指定要访问父类中的构造函数,

当然,子类的构造函数第一行也可以手动指定this语句来访问本类中的构造函数

子类中至少会有一个构造函数会访问父类中的构造函数。

 

Final: 修饰符

1.可以修饰类,函数,变量

2.final 修饰的类不可以被继承,为了避免被继承,被子类复写功能。

3.被final 修饰的方法不可以被复写。

4.final修饰的变量是一个常量只能赋值一次,既可以修饰成员变更,也可以修饰局部变量

   当描述事物时,一些数据的出现是固定的,那么这时为了增强阅读性,都给这些值起了个名字,方便于阅读,而这个值不需要改变,所以加上final修饰,作为常量,常量的书写规范所有字母都大写,如果由多个单词组成,单词间通过_连接

5.内部类定义在类中的局部位置上时,只能访问该局部被 final 修饰的变量。

 

抽象类的特点:

1,  抽象方法一定在抽象类中。

2,  抽象方法和抽象类都必须被abstract 关键字修饰

3,  抽象类不可以用new创建,因为调用抽象方法没意义。

4,  抽象类中的抽象方法要被调用,必须由子类复写所有的抽象方法后,建立子类对象调用,如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。

 

内部类:

内部类的访问规则:

1. 内部类可以直接访问外部类中的成员,包括私有。

   之所以可以直接访问外部类中的成员,是因为内部类中持有一个外部类的引用,格式 外部类名。This

2. 外部类要访问内部内,必须建立内部类对象。

 

访问格式

1. 当内部类定义在外部类的成员位置上,而非私用,可以在外部其他类中

   可以直接建立内部类对象

 

格式  外部类名。内部类名 变量名 = 外部类对象。内部类对象;

2. 内部类在成员位置上,就可以被成员修饰符所修饰

 

比如,private: 将内部类在外部类中进行封装

      Static:内部类就具备staticr 特性

      当内部类被static修饰后,只能直接访问外部类的static成员,出现了访问局限

 

在外部其他类中, 如何直接访问static内部类的非静态成员呢?

 

New 外部类。内部类()。非静态成员

 

在外部其他类中, 如何直接访问static内部类的静态成员呢?

 

外部类。内部类。静态成员

 

注意:当内部类定义了静态成员,该内部类必须是static.

      当外部类的静态方法访问内部类时,内部类也必须是static. 

 

总之: 当描述事物时,事物的内部还有事物,该事物用内部类来描述。

因为内部事务在使用外部事物的内容。

 

 

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

详细请查看:http://edu.csdn.net/heima

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java面向对象程序设计笔记: 目录----非原创,上课的时候老师给的资料哦 第一章 Java 前凑 3 1. Java前凑 3 Java产生的目的 3 Java的诞生的历史 3 2.Java语言的特点 3 简单性 3 面向对象 3 网络技能 3 3.Java语言与其他语言的区别 4 第二章 Java面向对象程序设计初步 4 1. 程序语言的分类 4 解释型语言 4 Java是编译解释型语言 4 Java编译器、解释器、JVM以及OS之间的关系 4 JVM的结构与作用 4 2. 程序设计的发展过程 4 程序设计的发展过程 4 O-O发展过程 5 O-O的体系 5 O-O程序设计与结构化程序设计的区别 5 3. Java应用程序 5 搭建开发环境 5 4. 类的设计与对象的构造 6 类的两个要素 6 构造函数 7 Java对内存的管理 7 Java源文件的结构 7 第三章 Java语法 8 1. Java注释 8 2. 标识符 9 3. 数据类型 9 基本数据类型 9 引用数据类型 9 5. 变量 9 6. 运算符 9 7. 数据的传输 9 8. 程序的逻辑控制语句 9 9. 数组 9 第四章 JavaOO程序设计 9 1.Java面向对象编程的特点 9 2.继承 10 2.1继承 10 2.2.Super关键字: 10 2.3.this关键字: 10 2.4.子类对象的构造和初始化: 11 2.5.方法的覆盖: 11 2.6.各种数据类型之间的相互转换: 12 3.静态成员 13 4. Final关键字: 13 5. 抽象类: 13 6. 接口 14 7. 接口与抽象类的区别: 15 8. 设计模式 15 单一设计模式: 15 策略模式: 16 模板模式: 16 组合设计模式: 16 9. 多态 16 10. 内部类 17 第五章 Java集合对象 18 1.List 18 2.Set 18 3.Map 19 第六章 常用的API类 21 1.对文件进行操作的类 21 2.对String对象操作的类 24 3. 对时间处理的类 25 4. 对系统处理的类: 26 5. 数据运算的类 27 6. 正则表达式 27 第七章 异常处理 32 第八章Oracle数据库基础 32 第九章JDBC编 32 第十章GUI编程 32
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值