java期末考试复习知识点 下载本文

读书之法,在循序而渐进,熟读而精思

6.1.2字符串类几个常用方法

String类定义了许多方法,下面是几个最常用方法。

public int length():返回字符串的长度,即字符串包含的字符个数。注意,对含有中文或其他语言符号的字符串,计算长度时,一个符号作为一个字符计数。

public char charAt(int index):返回字符串中指定位置的字符,index表示位置,范围为0~s.length()-1。

public String concat(String str):将调用字符串与参数字符串连接起来,产生一个新的字符串。

– public String substring(int beginIndex, int endIndex):从字符串的下标beginIndex开始到endIndex结束产生一个子字符串。

– public String substring(int beginIndex):(子链\\子串);从字符串的下标beginIndex开始到结束产生一个子字符串。

– public String replace(char oldChar, char newChar):将字符串中的所有oldChar字符改变为newChar字符,返回一个新的字符串。

– public String toUpperCase():将字符串转换成大写字母。 – public String toLowerCase():将字符串转换成小写字母。public String trim():返回去掉了前后空白字符的字符串对象。

(vt.装饰; 修剪; 整理; adj.整齐的,整洁的; 修长的; 苗条的; 修剪; 整齐; 健康状态; 装束;) public boolean isEmpty():返回该字符串是否为空(\),如果length()的结果为0,方法返回true,否则返回false。

下面程序要求从键盘输入一个字符串,判断该字符串是否是回文串。一个字符串,如果从前向后读和从后向前读都一样,则称该串为回文串。例如,“mom”和“上海海上”都是回文串。

算法思想:对于一个字符串,先判断该字符串的第一个字符和最后一个字符是否相等,如果相等,检查第二个字符和倒数第二个字符是否相等。这个过程一直进行,直到出现不相等的情况或者串中所有字符都检测完毕,当字符串有奇数个字符时,中间的字符不用检查。

6.1.7 String对象的不变性

在Java程序中一旦创建一个String对象,就不能对其内容进行改变,因此说Java的String对象是不可变的字符串。

有些方法看起来是修改字符串,但字符串修改后产生了另一个字符串,这些方法对原字符串没有任何影响,原字符串永远不会改变。请看下面的例子。

? 程序6.6 ChangeString.java

public class ChangeString{

public static void main(String[] args){

String s = new String(\

s.replace('o','A'); // s的值并没有改变 s = s.substring(0,6).concat(\

s.toUpperCase(); // s的值并没有改变 System.out.println(s); } }

程序运行结果为:

读书之法,在循序而渐进,熟读而精思

Hello,Java

Java面向对象的三大特性,原理及区分 继承 (1)继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。

(2)对象的一个新类可以从现有的类中派生,这个过程称为类继承,新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。

(3)派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

封装 (1)封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

多态性 (1)多态性是指允许不同类的对象对同一消息作出响应。 (2)多态性包括参数化多态性和包含多态性。

(3)多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

封装:每个对象都包括进行操作所需要的所有信息,而不依赖于其他对象来完成自己的操作。通过类的实例来实现。

好处:良好的封装可以降低耦合度;类的内部可以自由修改;类具有对外的清晰接口。 继承:IS-A的关系。A is-a B:A是B,A可以继承B。A是B的一个特例,特殊化,A又可以具备自己独有的个性。三点:

子类拥有父类非private的属性和功能(父类的构造函数例外,可以用base关键字访问,base代表着父类);

子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能; 子类可以以自己的方式重写父类的功能。

缺点:父类变,子类不得不变,父子是一种强耦合的关系。

多态:不同的对象可以执行相同的动作,但要通过他们自己的实现代码来执行。注意点: 子类以父类的身份出现;

子类在运行时以自己的方式实现;

子类以父类的身份出现时,子类特有的属性和方法不可以使用。 为了使子类的实例完全接替来自父类的类成员,父类必须将该成员声明为虚拟的(virtual),子类可以选择使用override将父类的实现替换为自己的实现,这就是多态。

封装:封装就是要把属于同一类事物的共性(包括属性与行为)归到一个类中,以方便使

读书之法,在循序而渐进,熟读而精思

用.比如人这个东东,可用下面的方式

7.4 封装性与访问修饰符

在Java语言中,对象的封装是通过两种方式实现的:

(1)通过包实现封装性。在定义类时使用package语句指定类属于哪个包。包是Java语言最大的封装单位,它定义了程序对类的访问权限。

(2)通过类或类的成员的访问权限实现封装性。

? 7.4 封装性与访问修饰符 ? 7.4.1 类的访问权限 ? 7.4.2 类成员的访问权限 ? 7.4 封装性与访问修饰符 ? 在Java语言中,对象的封装是通过两种方式实现的:

(1)通过包实现封装性。在定义类时使用package语句指定类属于哪个包。包是Java语言最大的封装单位,它定义了程序对类的访问权限。

(2)通过类或类的成员的访问权限实现封装性。

? 7.4.1 类的访问权限 ? 类(也包括接口和枚举等)的访问权限通过修饰符public实现。它定义哪些类可以使用该类。public类可以被任何的其他类使用,而缺省访问修饰符的类仅能被同一包中的类使用。下面的Circle类定义在com.demo包中,该类缺省访问修饰符。

package com.demo;

class Circle{ // 类的访问修饰符为缺省 Circle(){

System.out.println(\ } }

System.out.println(\ } }

? 7.4.1 类的访问权限 ? 在Eclipse中程序不能被编译,程序第一行显示的错误信息是:

The type com.demo.Circle is not visible

意思是Circle类型在该类中不可见。对出现这样问题可以有两种解决办法:

(1)将Circle类的访问修饰符修改为public,使它成为公共类,这样就可以被所有其他类访问。

(2)在CircleTest类中加上一行package语句,这样它们都在一个包中。 package com.demo;

? 一般情况下,如果一个类只提供给同一个包中的类访问可以不加访问修饰符,如果还希望被包外的类访问,则需要加上 public访问修饰符。

? 7.4.2 类成员的访问权限 ? 类成员的访问权限包括成员变量和成员方法的访问权限。共有4个修饰符,它们分别是private、缺省的、protected和public,这些修饰符控制成员可以在程序的哪些部分被访问。 1. private 访问修饰符