java对象

1.1 创建对象

1. 第一步声明变量,type可以是类,接口,或者数组
type objectName;
  1. 实例化

先用new运算符为对象分配空间,再初始化

String name;
name = new String("Hello World");

1.2 空对象

一个引用对象没有通过new分配内存空间,就是空对象.Java使用关键字null.表示空对象.示例代码如下
String name = null;
name = "Hello World";

引用变量默认值是null,当试图调用一个空对象的实例变量或实例方法,会空指针异常

  String name = null;
  System.out.println(name);
  int len = name.length(); //这行错误

程序员应避免调用空对象的成员变量和方法 null.length() X

1.3 构造方法

使用表达式new String("Hello World"),其中String("Hello World") 是调用构造方法.用来初始化类的实例变量,这个就是构造方法,它再创建对象(new)之后使用.

java构造特点:

  • 构造方法名必须与类名相同
  • 构造方法名没有任何返回值,包括void
  • 构造方法只能与new运算符结合使用

示例代码:

//矩形类
public class Rectangle {
    int width;
    int height;
    int area;
    //构造方法
    public Rectangle(int w, int h) {
        width = w;
        height = h;
        area = getArea(w,h)
    }
}
默认构造方法
有的类代码中没有构造方法,还是可以调用无参数的构造方法创建对象
//矩形类
public class Rectangle {
    int width;
    int height;
    int area;
}

创建对象

Rectangle rec = new Rectangle();
构造方法重载
一个类中可以有多个构造方法,它们有相同的名字(即类名),参数列表不同,所以它们之间一定是重载关系
package lidiudiu;

import java.util.Date;

public class Person {
    private String name;
    private  int age;
    private Date birthDate;
    public  Person(String n,int a, Date d) {
        name = n;
        age = a;
        birthDate = d;
    }
    public Person(String n, int a) {
        name = n;
        age = a;
    }
    public Person(String n) {
        name = n;
    }
}

当有准确信息时可以用第一个构造方法,只有姓名和年龄时用第二个,只有姓名信息可用最后一个构造方法创建Person对象

构造方法封装
构造方法也可以进行封装,访问级别和普通方法一样
public Person (String n , int a, Date d) //公有级别封装
Person (String n, int a) //默认级别限制
protected Person (String n, Date d) //保护级别限制
private Person(String n) //私有级别限制

默认级别限制: 只能在同一个包中访问

保护级别限制: 在同一个包中和默认级别相同,在不同包里可以被子类继承

私有级别限制: 只能在当前类中使用,不允许在外边访问

1.4 this关键字

前面章节中使用过this关键字,this指向对象本身,一个类可以通过this来获得一个代表它自身的对象变量.

this使用三种情况.

  1. 调用实例变量
  2. 调用实例方法
  3. 调用其它构造方法

1.5 销毁对象

java对象自动收集释放
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值