java第五版个人学习

第四章 类和对象

面向对象编程语言三个特性(封装 继承 多态)

class 类名{
类体内容
}
类体中的内容: 变量的声明,方法的定义

4.23 方法
成员变量在整个类内都有效,与先后位置无关
局部变量只在方法内有效,如果局部变量与成员变量名字相同,隐藏成员变量

4.3 构造方法
构造方法名字必须与所在类名字完全相同
构造方法没有类型
可以有若干个构造方法,但保证参数不同
没有构造方法系统会默认只有一个构造方法,且方法体中没有语句

4.4 类与程序的基本结构
java程序由若干个类组成
应用程序有一个主类

4.5.4可变参数

public void f(int ...x)

4.7 实例成员与类成员
用static关键字修饰的称为类变量,类方法

4.8 方法重载
两种多态:重载(Overload),重写(Override)
重载是一个类中可以由多个方法相同的名字,但参数必须不同
参数个数不同 或者 参数个数相同,某个类型不同

4.9 this关键字
this可以出现在实例方法和构造方法中,但不可以出现在类方法中

4.10 包

package	包名;

4.11 import语句

import	java.util.*	//引入一个包中的全部类 用*

4.12 访问权限
私有变量和私有方法 private
共有变量和公有方法 public
友好变量和友好方法 不用private,public,pprotected修饰的
受保护的成员变量和方法 protected
4.14 对象数组
Student [ ] stu;
stu = new Student[10];

第五章 子类与继承

子类:通过使用关键字extends来定义一个类的子类
class 子类名 extends 父类名
class Student extends People{
}
Object是所有类的祖先类(object是java.lang包中的类)

类的两个重要成员:成员变量,方法。
1.子类中的一部分自己声明定义,另一部分从父类继承

子类父类在同一个包中,子类继承父类中不是private的成员变量为自己使用,也继承不是private的方法。
不在同一包中,只继承父类中protected和public作为自己的变量和方法

5.3.2 instanceof运算符
instanceof运算符是java独有的双目运算符,左面的操作元是对象,右面的操作元是类,当左面的操作元是右面的类或其子类所创建的对象时,instanceof运算的结果是true,否则是false。

5.4 成员变量的隐藏和方法重写

5.4.1 成员变量的隐藏
所声明的和成员变量的名字和从父类名字相同,子类隐藏所继承的成员变量

5.4.2 方法重写
重写不可以降低方法的访问权限,可以提高访问权限

5…5 super关键字
super操作被隐藏的成员变量和方法

5.6 final关键字
final类不能被继承,不能有子类
final修饰父类中的一个方法,这个方法不允许子类重写
被final修饰的成员变量或局部变量是常量,常量在声明时没有默认值

5.7对象的上转型对象
上转型对象会失去原对象的一些属性和功能
上转型对象不能操作子类新增的成员变量(失掉了这部分属性),不能调用子类新增的方法(失掉了一些行为)
上转型对象可以访问子类继承或隐藏的成员变量,也可以调用子类继承的方法或子类重写的实例方法

5.8 继承与多态
5.9 abstract类和abstract方法
抽象类抽象方法
abstract方法,只允许声明不允许实习(没有方法体)
final和abstract不可以同时修饰一个方法或类
abstract方法必须时实例方法,不可以用static修饰
abstract类不能用new运算符
非抽象类是抽象类的子类,那么必须重写abstract方法,即去掉abstract修饰,给出方法题
abstract类是abstract类的子类,那么可以重写或继承父类的abstract方法

第六章 接口与实现

6.1 接口
关键字interface定义接口
接口体中包含常量的声明不声明变量和抽象方法两部分
接口体中只有抽象方法 权限必是public,而且是static常量

6.2 实现接口
用关键字implements声明该类实现一个或多个接口

//A类实现BC的接口
class A implements B,C

非抽象类实现某个接口,那么必须重写接口中的所有方法
Java源文件由类和接口组成
如果一个类实现一个接口,但没有重写接口中的所有方法,这个类必须是抽象类,抽象类可以重写接口中的方法,也可以直接拥有接口中的方法
类可以直接在类体中使用接口中的常量
public interface 可以被任何一个类实现
不加public修饰,称为友好接口,可被同一包中的类实现

6.4 接口回调
接口属于引用型变量

Com com;		//Com接口
ImpleCom object = new ImpleCom();	//ImpleCom类实现Com接口类,ImpleCom创建名字为object对象,那么object对象可以调用类中原有的方法,有也可以调用类实现的接口方法
com = object	//object对象赋值给com接口	

接口无法调用类中其他非接口方法

6.8 抽象类与接口比较
抽象类和接口都可以有抽象方法
接口中只可以有常量不可以有变量,而abstract类中都可以有
abstract类中可以有非abstract方法,接口不可以

使用接口还是abstract需要具体分析
abstract提供需要子类重写的abstract方法外,还提供了子类可以继承的变量和非抽象方法,就是如果子类除了需要重写父类的abstract方法还要从父类中继承一些变量或非abstract方法,那么建议用abstract类;
如果问题不需要继承,只是若干个类给出某些重要的abstract方法实现细节,可以考虑使用接口

第七章 内部类与异常类

7.1 内部类
Java可以在一个类中定义另一个类,称为内部类
包含内部类的类称为内部类的外嵌类
内部类的类体不可以声明类变量和类方法
内部类仅供他的外嵌类使用
非内部类不可以是static类

7.2 匿名类
匿名类可以继承父类的方法也可以重写父类的方法
匿名类一定可以是内部类
匿名类可以访问纳外嵌类中的成员变量和方法,匿名类的类体不可以声明static成员变量和static方法

第八章 常用实用类

String类
String类是finally类,不可以有子类

s.length长度	
a.equals(b)	判断是否字符串序列相同	
staetsWith,endsWirh 前缀或后缀是否相同	
a.compareTo(b);	比较大小
a.contains(b);
a.indexOf("a");	a.lastIndexOf
String str = a.substring(1,3);
trim  	去空格

字符串与基本数据类型转化

String s = "1234";	//字符串转数字
int x = Integer.parseInt(s);

s = Stirng.valueOf(111);	//数字转字符串

字符串,字符数组与字节数组

char [] a,c;
String s = "爱意随风起";
a = new char[4];
s.getChars(0,5,a,0);

c =  "风散意难平".toCharArray();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值