Java基础总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基本数据类型变量单元直接存放数据赋值和传参的方式:传值,即传递副本比较相等使用关系运算符“==”引用数据类型变量单元存放引用即对象地址,而数据(对象)在另一内存区域存放。赋值和传参的方式:传引用(传递对象的地址),即传递对象本身。使用关系运算符“==”比较两个引用类型变量,比较的是地址,如果比较结果为真,说明两个变量引用了同一对象。比较两个对象是否相等应使用equals方法Java是面向对象的语言,开发Java程序就是开发Java类,Java的变量定义、方法(函数)和语句都必须在类中书写,“无类即无Java”。类的实例成员属性(成员变量):直接定义在类体中的变量(注:在方法或语句块中定义的变量不是属性)方法:直接定义在类体中的方法。类成员:直接定义在类体中的内部类,即类成员。注:对象的成员是从属于对象的,必须通过对象访问,在Java中不存在脱离对象和类而独立存在的属性和方法。类、方法、语句三者的关系:类中包含方法,方法中包含语句;方法中不能嵌套方法;语句不能直接写在类体中。变量的作用域局部变量-方法的参数、方法体中定义的变量、语句块中定义的变量,仅在所定义的方法体或语句块中有效。属性-在整个类体中有效。公有的属性-其它类可以本类对象访问。私有的属性-仅限本类内访问局部变量(无论基本类型还是引用类型)在栈内存中,对象在堆内存中。注:引用类型的局部变量内存放是对象的引用(即地址),而对象在堆内存中。方法的重载-在同一类中多个方法同名的语法现象,方法重载应符合以下条件:方法同名参数有所不同(即类型、个数和顺序三者至少有一个不同)注:方法是否重载不考虑返回类型等其它方面。包和访问修饰符包-类的目录结构,主要用途是方便类的管理。类的简称:不含包名的类名类的权限定名称(类的全称):带包名的类名。访问修饰符private-仅限本类内访问public-任何类都能够访问默认-限本包的类访问protected--限本包的类访问和子类的访问类的成员(属性、方法和成员内部类)可以使用四种访问修饰符,顶级外部类仅能使用public和默认两种修饰符。数组基本类型的数组的元素放的是数据对象数据的元素放的是对象的引用二维数组实际上是一个维数组,而其每个元素又是一个一维数组。构造方法-与类名同名并且无返回类型的方法构造方法的作用是创建对象,仅能通过new关键字调用。类中未显式定义构造方法时,类中会有默认的构造方法(即一个public、无参的构造方法);类中一旦定义显式定义构造方法,将不再产生默认的构造方法。构造方法可以重载构造方法只能可以使用四个访问修饰符,不可以使用其它修饰符(如static、final等)。this关键字this表示本对象或对象自身的引用通过this可以调用本类的成员方法和属性通过this可以调用本类的构造方法,this调用构造方法的语句必须写在构造方法的第一句。实例成员和静态成员类的成员(属性、方法和成员类)可划分为静态成员和实例成员。实例成员是属于对象的,随着对象的创建而存在,随着对象的销毁而销毁。静态成员是属于类的,随着类的加载而存在,随着类的销毁而销毁。使用static修饰的成员是静态成员,未使用static修饰的成员是实例成员。静态成员内不能使用this关键字。this表示当前对象的引用。对象的初始化第一:实例属性赋默认值第二:实例属性赋初值第三:执行对象初始化块第四:执行构造方法类的初始化第一:静态属性赋默认值第二:静态属性赋初值第三:执行静态块继承的基本概念Java仅支持单继承如果一个类没有显式继承任何类,则隐式继承java.lang.Object类子类拥有父类的一切,子类对象由两部分构成:父类对象部分和子类个性化的部分。子类并不能访问父类的一切:子类可以访问父类的public成员和protected成员子类不可以访问父类的private成员仅当子类与父类同在一包时,子类方可以访问父类的默认访问控制的成员。继承与类和对象的初始化构造子类对象时,首先构造父类对象,其次构造子类个性化部分,两者共同构成完整的子类对象,即首先进行父类对象的初始化,在初始化子类对象(个性化)部分。子类构造方法的执行首先调用父类的构造方法。若在子类构造方法中无显式调用父类构造方法的语句,则系统默认调用父类中可访问的无参的构造方法,如果这时候父类中恰好没有这样的构造方法,则编译出错。在子类的构造方法中可以通过super关键字调用父类构造方法。这样的调用语句只能出现在子类构造方法的第一句。关于初始化的顺序初始化父类初始化子类初始化父类对象初始化子类对象继承与类型转换子类型对象可以自动转型为父类型父类型引用某个子类型对象时,可以强制转化为这个具体的子类型方法重写在继承的情况下,子类的实例方法与父类的实例方法的方法名称、参数、返回类型、throws声明完全一致,并且该子类方法的访问权限不低于父类方法的访问权限,即方法重写(子类方法重写了父类方法),也称方法覆盖。方法重写仅存在于父子类中的实例方法,静态方法没有重写的概念。当通过子类型对象执行重写方法时,将始终表现为子类的行为,而且无论引用对象的变量是父类型还是子类型,也无论是直接调用还是通过父类型其它方法间接调用,都将如此。final修饰的方法不可以被重写final修饰的类不可以被继承隐藏成员变量如果子类和父类中定义了同名称的成员变量,则称子类隐藏了父类的成员变量通过父类方法访问隐藏的成员变量时,将获得父类成员变量通过子类方法访问隐藏的成员变量时,将获得子类成员变量通过父类型的引用直接访问隐藏的成员变量时,将获得父类成员变量通过子类型的引用直接访问隐藏的成员变量时,将获得子类成员变量super关键字super仅能用于子类中表示本对象的父对象部分super可以调用父类型的构造方法Super可以调用父类的成员Super不可以使用在静态上下文中Super不可以做为参数传递,不可以做为返回值返回。当方法重写时,或父类成员变量被隐藏时,子类中只能通过super访问父类方法和父类成员变量继承与类型转换子类型向父类型可以自动进行转换父类型向子类型,在一定条件下可以强制转换(什么条件?)多态静态时多态(编译时多态):重载动态时多态(运行时多态):重写final关键字用于变量,表示变量的值不可改变用于类,表示类不可被继承用于方法,表示方法不可以被重写关于final变量的初始化时机局部变量:声明的时候初始化或者第一次被使用之前初始化(不能二次赋值)实例成员变量:声明、对象初始化块和构造方法三处之一静态成员变量:声明、静态块两处之一抽象类抽象类可以包含抽象方法,也可以不包含抽象方法含有抽象方法的类必须定义为抽象类抽象类有构造方法抽象类不能够实例化通过抽象类可以调用其静态成员抽象类是需要由子类继承的,因此抽象类不允许是final类抽象方法抽象方法没有方法体,包括一对空的大括号也不允许有抽象方法必须是实例方法,抽象方法不允许是final的抽象类与继承抽象类可以被继承若抽象类的子类是非抽象类,则该子类必须实现(重写)其父类的所有抽象方法若抽象类的子类也是抽象类,则该子类可以不实现(重写)其父类的全部或部分抽象方法。接口接口也是数据类型,可以将其理解为“纯”抽象类接口不是类,也没有构造方法,不能够实例化接口中的属性一律是public、static、final的,并可以省略这三个关键字接口的方法一律是public、abstract的,并且可以省略这两个关键字接口中可以不包含任何属性和方法接口与实现接口不是类,因此接口与类的关系不是“继承”关系,而是“实现”关系,我们可以将实现理解为继承(尽管这并不恰当)如果接口的实现类是抽象类,则该实现类可以不实现接口的全部或部分方法如果接口的实现类是非抽象类,则该实现类必须实现接口的全部方法一个类可以实现多个接口接口与继承接口之间可以相互继承一个接口可以继承多个接口接口与类型转换接口的的子类型对象可以自动向上转型为接口类型接口的子类型指:是接口的实现类或者接口的子接口如果变量引用的对象实际是某个接口的实现类对象,而变量的类型不是这个接口的子类型,那么则可以强制转换为这个接口类型。异常的类层次结构Throwable-异常根类Error-错误类,表示不可恢复的致命错误Exception-异常类,表示可以处理的错误,开发者此应当仔细考虑和处理RuntimeException-运行时异常,此类异常可以不做显式处理,如不处理,系统默认声明抛出。非运行时异常-此类异常必须做显式处理,否则无法编译通过异常的处理方式捕获try-catch声明抛出在方法头通过throws声明可能抛出的异常类型异常机制的五个关键字trycatchfinallythrowthrows如何使用try-catchtry-catch-finally注:只要try执行,其对应的finally块才必然执行try-finally注:只要try执行,其对应的finally块才必然执行throw主动抛出一个异常throws用在方法声明头部,声明方法可能抛出异常finally代码块多用于书写资源回收代码Java集合类(集合框架)Collection接口List接口允许重复元素,元素有索引序号,并按放入元素的次序编号ArrayList线性表结构,查找快,增删慢LinkedList链表结构,查找慢,增删快Vector同步,查找、增删性能都不高。Set接口不允许重复元素,元素无索引编号HashSet元素散列存放TreeSet元素按自然顺序排序(即从小到大排序)Map接口HashMap允许null值和null键不同步Hashtable--Properties不允许null值和null键同步内部类

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功