类和对象初始
类:
(1)抽象性:抽象的集合
包含-属性(数据),行为(方法)
class 类名{
private/public 数据类型 变量名;
private/public 返回值类型 方法名(参数列表){
方法体;}
}
定义类
例:
class Myclass{
private Int number;
private String name;
private char c;
public void display(){
System.out.println(“my name is “ +name);
}
}
(2)继承性:一个类可有父类(super),子类。本类(this)。
(3)多态性:
重载方法
重写方法(在继承基础上)
父类
class Object{
public void display(){
System.out.println(“输出”);
}
}
子类
class object1 extends object{
Public void display(){
System.out.println(“输入”);
}
}
对象:类的实例
变量与内存分配
对象变量:
Myclass obj=new Myclass();
初始化的obj=null;
null表示对象变量不引用任何对象,是一个空地址
原始类型变量:
Int value=100;
value直接分配内存空间
Java要求显示初始化变量。
对象的初始化
1. 类的构造方法
构造方法可重载,可继承。
例:
class Foo{
Int value;
public Foo(int x){
value=x;
}
}
class text{
Public static void main(String args[]){
Foo obj=new Foo();----报错,没有参数,当自己定义构造方法时,系统不再提供类的默认构造方法改: Foo obj=new Foo(8);
}
}
2. 类的初始化块”{}”
例:
Class Text{
Int value;
{
value =100; ----类的初始化块
}
初始化-实验
源代码:
public class InitializeBlockClass {
{
value=200;
}
public int value=100;
public InitializeBlockClass() {
}
public InitializeBlockClass(int x) {
this.value=x;
}
public static void main(String[] args) {
InitializeBlockClass inital=new InitializeBlockClass();
System.out.println(inital.value);
inital=new InitializeBlockClass(500);
System.out.println(inital.value);
}
}
初始化规律:
构造函数优先,
定义时初始化其次,
初始化块最后。