Java 面向对象

来源:互联网 发布:centossshselinux端口 编辑:程序博客网 时间:2024/06/06 23:54

Java面向对象知识

 

一.本章知识点:

1.static关键字的应用

2.内部类

3.final关键字

4.类的继承

5.abstract

6.interface接口

7.对象的多态性

8.instanceof

9.匿名内部类

10.异常

11.包的创建与import(导入)

12.java命名习惯

13.使用jar文件

二.本章“定理”:

1.static所声明的成员可以被类的任何实例所共享,我们可以不用创建类的实例而去调用static所声明的成员,可以用类名直接去调用;

2.单例模式:首先把构造方法声明为private的,这样我们就不能再外部直接调用构造方法创建对象,然后我们创建一个静态的static对象;

3.静态代码块:一个类中可以使用不包含在任何方法体重的静态代码块,当类被载入时,静态代码块被执行,且只被执行一次,静态块经常用来进行属性的初始化;类是在第一次被使用的时候才被装载,而不是在程序启动时就装载所有可能要用到的类;

5.内部类:

——内部类可以直接访问嵌套它的类的成员,包括private成员,但是嵌套类的成员不能被嵌套它的类直接访问;

——嵌套类不能被外部类所知道,只能被嵌套它的类所知;

——和外部类不同的是,内部类可以声明为privateprotected

——内部类当中保存了一个对嵌套它的类的对象的引用;

6.如果用static修饰一个内部类,这个类就相当于一个外部定义的类,所以static的内部类中可声明static成员,但是,非static的内部类中不能声明static的。Static的内部类不能再使用外城封装的非static的成员,所以static嵌套类很少使用;

7.在类的声明代码之前,应该加入类的注释,主要用来说明类的一些属性信息,如类名,编程者,鞭策和那个时间,类封装的特性等;

8.final关键字:

A.在声明类,属性,方法时,可使用关键字;

Bfinal标记的类不能被继承

Cfinal标记的属性(变量)即可称为常量,只能赋值一次,方法体中的内置类只能访问该方法中final类型的局部变量;

Dfinal标记的方法不能被子类重写;

!我们已经知道final标记的变量即成为常量,只能被赋值一次,但这个“常量”也只能在这个类的内部使用,不能在类的外部直接使用;

9.类的继承:

——通过继承,我们可以简化类的定义。

——Java只支持单继承,不允许多重继承,在Java中,一个子类自能有一个父类,不允许一个类直接继承多个类。

——可以有多层继承,即一个类可以继承某一个类的子类;

——子类继承父类的所有方法和成员变量,但不能继承父类的构造方法,在子类的构造方法中可使用语句super(参数列表)调用父类的构造方法。

10.可以覆盖父类的方法,覆盖方法时,不能使用比父类中被覆盖的方法更严格的访问权限,如:父类中的方法是public,子类的方法就不能是其他的;

如果我们在子类中想调用父类的成员时,我们可以用super<成员>实现            

11.抽象类(abstract类)

——Java中可以定义一些不含方法体的方法,他的方法体交给子类根据自己的情况去实现,这样的方法就是抽象方法,包含抽象方法的类就是抽象类,一个类中可以有一个或多个抽象方法;抽象方法必须用abstract修饰符定义,任何带有抽象方法的类都必须声明为抽象类;

——抽象类和方法都必须用abstract来修饰

——抽象类不能被实例化,也就是不能用new关键字产生对象;

——抽象方法只需声明,而不需实现;

——含有抽象方法的类必须声明为抽象类,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个类还是个抽象类;

12如果一个抽象类中的所有方法都是抽象的,我们就可以将这个类用另外一种方式定义;即接口;

——实现一个接口就是要实现该接口的所有方法(抽象类除外)

——接口中的方法都是抽象的;

——多个无关的类可以实现同一个接口,一个类可以实现多个无关的接口;

13.我们可以用instanceof判断一个实例对象是否属于某个类,亦可以判断是否一个类实现了某个接口;

14.Java中有一个比较特殊的类,就是object类,他是所有了类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类就默认继承Object类;

15.Object类有一个equals方法,用于比较两个对象是否相等,默认值为false。如果我们要比较我们自己类中的对象,结果就不一定准确了,因此,我们就必须覆盖掉Object类的equals方法;

16.自定义异常与Throw关键字

——自定义的异常类必须继承Exception

——Java是通过throw关键字抛出异常的,语法格式 throw 异常对象;

17.异常的一些使用细节:

——一个方法被覆盖时,覆盖他的方法必须扔出相同的异常或异常的子类

——如果父类扔出多个异常,那么覆盖的方法必须扔出那些异常的一个子集,也就是说,不能扔出新的异常;

18.访问控制:

类成员的访问控制

                 Private        default        protected        public

同一类             Y             Y            Y              Y          

同一个包的类       N             Y            Y              Y

子类               N             N            Y              Y

其他包的中的类     N             N            N              Y

类的访问控制

类本身有两种访问控制,即public和默认,默认的类只能被同一个包中的类访问,public类可以被所有的类访问;

. 本章知识“为什么”:

1.为什么要使用内部类?

当一个类中的程序代码要用到另一个类的实例对象,而另外一个类中的程序代码又要访问第一个类中的成员,将另外一个类做成第一个类的内部类,程序代码就容易编写的多;这样的情况在实际应用中非常之多!

2.为什么使用接口?

为了让类不必受限于单一继承的关系,可以灵活的同时继承一些共有的特性,从而达到多重继承的目的;

3.为什么使用多态?

——应用程序不必为每一个类(子类)编写功能调用,只需要对抽象基类进行处理即可,“以不变应万变”,可以提高程序的复用行性;

——派生类的功能可以被基类的方法或引用变量调用;

4.什么是异常?为什么引入异常?

异常定义了程序中遇到的非致命的错误,而不是编译时的语法错误;Java异常是一个出现在代码中的描述异常状态的对象,每当出现一个异常情况,就创建一个异常对象并转入引起异常的方法中,这些方法根据不同的类型来捕获异常,并防止由于异常而引起程序的崩溃,还能在方法退出前执行特定的代码段;java异常强制我们去考虑程序的健壮性和安全性。

5.throws关键字?

假设我们有两个类,分别让两个人写,如果第一个类中的某个方法会出现异常,那么第二个人如何知道会出现异常并且处理呢?所以我们用throws关键字来声明一下这个类中的函数可能发生异常及异常的类别;

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 70岁父母老吵架怎么办 怀孕七个月晚上睡不着怎么办 九个月宝宝睡眠不好怎么办 一个月的宝宝放不下怎么办 宝宝被吓了发烧怎么办 体内火气重睡不着觉怎么办 宝宝睡觉一直翻身发出声音怎么办 严重失眠怎么办整夜睡不着觉 腿疼得睡不着觉怎么办 19岁晚上睡不着该怎么办 工作累的想哭怎么办 心累迷茫想哭怎么办 白天很累晚上又睡不着怎么办 发型睡觉压乱了怎么办 通宵一夜第二天怎么办 夏天了腿脚还凉怎么办 咖啡色三天了月经还是下不来怎么办 睡觉姿势不对腰疼怎么办 来月经吃了香瓜怎么办 减肥期间晚上有饭局怎么办 减肥期间遇到晚上聚餐怎么办 婴儿脸不向上睡怎么办 睡觉压奶了疼怎么办 堵奶了挤不下来怎么办 孕36周胎儿腿短怎么办 孕晚期胎儿腿短怎么办 孕晚期宝宝腿短怎么办 手劳累过度麻痛怎么办 大人发烧40不退怎么办? 颈椎扯的脑袋疼怎么办 孕妇颈椎痛导致失眠怎么办 做完运动脊椎中间痛怎么办? 阴虛阴虚火旺怎么办 脸一躺下就丑怎么办 身体淤堵的厉害怎么办 怀孕晚期脚肿了怎么办 宝宝感冒咳嗽流鼻涕流泪怎么办 孕晚期睡觉习惯面朝右怎么办 鼻涕一直不停的流怎么办 宝宝一直流清鼻涕怎么办 感冒了眼睛酸胀流泪怎么办