ppt from 北大java程序设计
目录
Java数据类型
基本运算符
表达式的类型转换
JAVA中的equals和==
数组
复制数组
多维数组
类
this的使用
类的继承
super的使用
static字段
final字段
abstract字段
接口与抽象类
JAVA内部类
关于父类引用指向子类对象(A a=new B())
java uml类图实现
注释:
快速输入代码:
短路(short-circuit)逻辑运算符
x=3,y=4,z=5;
!(x+y)+z-1&&y+z/2=1
浅谈Java中的equals和== - Matrix海子 - 博客园 (cnblogs.com)
int []a = new int[3];
a[0] = 3;
a[1] = 9;
a[2] = 8;
MyDate []dates = new MyDate[3];
dates[0] = new MyDate(22, 7, 1964);
dates[1] = new MyDate(1, 1, 2000);
dates[2] = new MyDate(22, 12, 1964);
每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的 长度(元素个数);
Enhanced for语句可以方便地处理数组、集合中各元素
int[] ages = new int[10];
for ( int age : ages )
{
System.out.println( age );
}
System.arraycopy方法提供了数组元素复制功能:
//源数组
int[] source = { 1, 2, 3, 4, 5, 6 };
// 目的数组
int []dest = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
// 复制源数组中从下标0开始的source.length个元素到
// 目的数组,从下标0的位置开始存储。
System.arraycopy( source, 0, dest, 0, source.Length );
二维数组是数组的数组
int [][] t = new int [3][];
t[0] = new int[2];
t[1] = new int[4];
t[2] = new int[3];
int t1[][] = new int [][4]; //非法, 这与C++不同
构造方法:同理C++
Person( int age, String name ) {
this.age = age;
this.name = name;
}
构造方法中,用this调用另一构造方法
Person( )
{
this( 0, "" );
……
}
这位写得太棒了!Java:类与继承 - Matrix海子 - 博客园 (cnblogs.com)
继承关系在UML图中,是用一个箭头来表示子类与父类的关系的。 相当于 is a
class Student extends Person {
String school;
int score;
boolean isGood(){ return score>80; }
//…
}
1.方法的继承
父类的非私有方法也可以被子类自动继承。如,Student自动继承Person的方 法sayHello和isOlderThan。
2.方法的覆盖(Override)(修改)
子类也可以重新定义与父类同名的方法,实现对父类方法的覆盖(Override)。
@Override //JDK1.5以后可以用这个注记来表示(不用也是可以的)
void sayHello(){
System.out.println("Hello! My name is " + name + ". My school is " + school );
}
//通过方法的覆盖,能够修改对象的同名方法的具体实现方法。
1. 使用super访问父类的域和方法,正是由于继承,使用this可以访问父类的域和方法。但有时为了明确地指明父类的域和方法,就要用关键字super。当覆盖父类的同名方法的同时,又要调用父类的方法,就必须使用super。
void sayHello(){
super.sayHello();
System.out.println( "My school is " + school );
}
2.使用父类的构造方法 ,构造方法是不能继承的,可以用super来调用父类的构造方法。
Student(String name, int age, String school ){
super( name, age );
this.school = school;
}
再次感叹,写的真好:Java中的static关键字解析 - Matrix海子 - 博客园 (cnblogs.com)
直接看这人的吧,讲得太好了:浅析Java中的final关键字 - Matrix海子 - 博客园 (cnblogs.com)
1.abstract类
2.abstract方法
深入理解Java的接口和抽象类 - Matrix海子 - 博客园 (cnblogs.com)
Java内部类详解 - Matrix海子 - 博客园 (cnblogs.com)
关于父类引用指向子类对象(A a = New B();)的使用,理解向上转型_CoderGuHao的博客-CSDN博客
Java UML类图实现 - 简书 (jianshu.com)