java基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
封装性
如何实现封装??
加上private ,访问时可以通过getter和setter方法来提供访问的接口,其中可以在这两个方法中增加条件来限制
Static
在java中可以使用static声明属性或方法,因为在之前所讲解的属性和方法都属于非static 的,这样一来,每个对象都占有各自的内容,如果现在希望一个属性被所有的对象所共有,则可以将其声明为static类型,声明static类型的属性或方法之后此数次那个或方法也称为类方法,可以由类名称直接调用。
Java面向对象-----构造方法与匿名对象:
掌握构造方法的概念及调用机制
在构造方法的声明中一定要牢记的几点:
构造方法的名称必须与类名称一致
构造方法的声明处不能有任何返回值类型的声明
不能再构造方法中使用return返回一个值
构造方法的作用??
构造方法的一个重要的作用就是为类中的属性初始化
何时调用构造方法??
在实例化一个对象时才调用构造方法
为什么有时自己没有写构造方法但可以实例化对象呢??
这是因为在java中如果没有声明一个构造方法,则会自动生成一个什么都不做的构造方
掌握构造方法的重载
构造方法本身与普通方法一样,都是支持重载操作的,只要参数的类型或个数不同,则就可以完成重载操作!
掌握匿名对象的使用
匿名对象的产生
在java中如果一个对象只使用一次,就可以将其定义为匿名对象
所谓的匿名对象就是比之前的对象少了一个栈内存的引用关系,只开辟了对内存的实例对象
Java面向对象----String类
掌握string类的两种实例化方式
方法二:new一个
掌握string的两种比较操作
方法一:基本类型使用“==”判断
这里使用判断相等,是判断地址空间是否相等,判断的是地址值
方法二:如果要比较内容则要使用String类中的equals方法
深入分析string类两种实例化方式的区别
一个字符串就是一个String的匿名对象
有new关键字就会分派内存空间
使用直接赋值方式可以明显节省内存
掌握string的使用特点
实际上,字符串内容的改变,改变的是内存地址的引用关系所以,在开发中应该避免如下的使用操作!
如果非要使用这种操作,在后面得java常用类库中将有一个专门的类StringBuffer处理它String中的常用方法:
Split()和repalceAll()这两个方法是需要正则支持的
字符数组与字符串
一个字符串可以变为一个字符数组:public char [] toCharArray()
一个字符数组也可以变为一个字符串:public String(char[] value)
Public String(char[] value ,int offset,int count)
了解api的查找方法
This关键字:
This关键有什么作用?
可以强调本类中的方法
表示类中的属性:
This.属性
可以使用this调用本类的构造方法,减少代码的重复,调用过程中还要防止递归调用
This表示当前对象什么叫当前对象??
当前正在调用的对象,this.属性,this.方法(),实际上都是表示当前的对象中的属性或当前对象的调用的方法!
This的核心:表示当前的对象,当前正在操作本方法的对象称为当前对象
使用this可以调用其他构造方法,但是此语句必须放在构造方法的首行
内部类:
外部类如何访问外部类的属性?
什么叫内部类?
在一个类的内部还有类,则就叫内部类
方法!
这是没有用内部类的时候,将主方法中的outer传入fan中用this
掌握内部类的优缺点
缺点:正常的一个类操作时,在类中最好是只定义属性或方法,如果定义了一个类的话,则肯定破坏了程序的结构!
优点:可以方便的访问外部类中的私有属性
内部类的定义位置??
在类的任何地方,比如方法中(方法中定义的内部类也可以访问外部类的私有属性)
如何在主方法中访问一个外部类的内部类??
方法一:必须将内部类用static(static定义的类只能访问由static声明的属性和方法,所以当你的内部类是static的话,要访问外部类就要将外部类也声明为static)
掌握内部类的使用格式
掌握static声明内部类的作用
可以使用内部类访问
为什么要使用泛型:
当一个类要接受的数据的数据类型是宽口径的,那么我们要使用object来接收
如何设计分析一个类呢??
分析思路:
1:根据要求写出类所包含的属性
2:所有的属性都必须进行封装(private);
3:封装之后的属性通过setter和getter设置和取得;
4:如果需要可以加入若干构造方法;
5:再根据其他要求添加相应的方法;
6:类中的所有方法都不要直接输出,而是交给被调用处输出
属性都必须封装,而封装的属性都必须有getter和setter方法
抽象类的基本概念:
掌握抽象类的定义格式
抽象类的概念:包含一个抽象方法的类就交抽象类,而只声明未实现的方法称为抽象方法,抽象方法必须使用abstract关键字声明. 一个方法后没有{}就叫未实现
抽象类名称是斜体还有就是可以在其后加abstract
掌握抽象类的使用规则
包含一个抽象方法的类必须是抽象类
抽象类和抽象方法都要使用abstract关键字声明;
抽象方法只需声明不需实现
抽象方法必须被子类继承(子类要是普通类),子类(如果不是抽象类)必须覆写抽象类中的全部抽象方法
一个抽象类可以使用final关键字声明么??
一个类如果被final关键字声明,则此类不能被子类继承,而抽象类必须被子类覆写,所以很明显, 抽象类中是不能使用final关键字的
一个抽象类中可以定义构造方法么?
抽象类中是允许使用构造方法的,因为抽象类依然是使用类的继承关系,而且抽象类中也存在各个属性,所以子类在实例化之前肯定是要先对父类进行实例化的.。