------- android培训、java培训、java学习型技术博客、期待与您交流! ----------生成对象的方法:
格式:类名 对象名= new 类名();
eg:Dog dog = new Dog();
重载的定义:
1:两个或者多个函数在同一个类中
2:函数名相同;
3:参数列表不同。
构造函数:
构造函数的函数名必须和类名相同,构造函数也可以重载。
this的方法:
1. 使用this调用成员变量和成员函数。
2. 使用this调用构造函数。
classperson{
String name;
intage;
Stringaddress;
person(){
System.out.println("this is a blankfunction");
}
person(Stringname ,int age){
this(); ------------------------------------------调用上面的空构造函数
this.name=name;
this.age=age;
System.out.println("this is a 2 canshufunction");
}
person(Stringname,int age,String address){
this(name,age); -------调用带两个参数的构造函数
this.address=address;
System.out.println("this is a 3 canshufunction");
}
voidtalk(){
System.out.println("wow,wow,wow");
}
}
注意this 调用构造函数的写法。没有点。
对this的调用必须是构造器中的第一个语句。
静态变量:
1. 在变量的类型前面加上static。
2. 调用的时候即可以用类名调用,也可以用对象名调用。
3. 一个静态变量不是属于某个对象的,而是属于某个类。这个类所生成的所有对象,使用的都是这同一个静态变量。任何一个对象对其进行修改,其他的对象的静态变量也会跟着修改。
静态函数:
1. 在变量面前加上static
2. 可以用类名调用。
3. 在静态函数中不可以引用非静态的成员变量。
4. 静态函数中不可以使用this
静态代码块
static{ },静态代码块只要是为静态成员变量赋初值。
继承初步
java当中只支持但继承,就是一个子类只继承一个父类,就是一个儿子,只有一个爸爸。
继承关键字extends,格式:class 子类 extends 父类{}
对象的转型(面向对象多态的体现)
1. 对象的向上转型………….将子类的对象赋值给父类的引用
*越抽象的东西越向上
*一个引用能够调用那些成员,取决于这个引用的类型。
*一个引用调用的是哪一个方法,取决于这个引用所指向的对象。
包和访问权限
如果子类和父类不在一个包中,则子类无法继承到父类中default权限的成员变量和成员函数。(有问题)
如果子类和父类不在同一个包中,则子类可以继承到父类中的default权限的成员变量和成员函数,但是因为没有权限,无法使用。
protected,可以跨包访问,但是必须有继承关系。
public > protected > default > private
一个类和一个成员变量和成员函数的权限应该尽可能的小,以体现面向对象的封装性。
异常
定义:中断了正常指令流的事件。异常时在运行时产生的,编译可以通过。
error是指虚拟机在运行时所产生的错误,一旦错误产生,虚拟机将直接关闭。当然应用程序也不复存在了。
Uncheck类型的异常包括RuntimeException以及他的子类。
Check类型的异常包括exception这个类,以及exception除了RuntimeException的子类。如果抛出的是check异常,则必须进行try,catch处理。
try,catch,finally. 如果try里边的内容无异常,则不执行catch,否则则执行,最后执行finally一定执行,相当于异常的出口。
如果对于一个函数 throws 异常,那么调用这个函数的地方要对其进行处理。
程序员对Error无能为力,只能处理exception.
对异常的处理关系到代码的健壮性。
throw 和 throws
throw的作用是抛出一个异常对象,java虚拟机得到这个异常对象后将会在抛出异常的位置中止程序的运行。
Java当中的IO
有数据进入到程序里边来,这个过程叫做输入。
程序把数据输出的指定地方,这个过程叫做输出。
I/O系统的主要目标是对数据进行读写操作。
数据的流向以java程序为参照物。
I/O当中的核心类和核心方法:
InputStream
int read(byte[] b,int offside,int len) offside指偏移量,len指读取的长度。
OutputSteram
Int write(byte[],int offside,int len)