Java类及成员

Java类及成员


 类

类是对一类事物的的描述,是抽象的概念上的定义;类是创建对象的模板;

类的成员属性

类变量

类变量也声明在类中,方法体之外,但必须声明为static类型。

成员变量

成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。

局部变量

在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。没有修饰符定义即赋值;

类的构造器

每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。

类的成员方法

为类提供相应功能的操作;方法内可以调用本类的属性和其它方法但是不能在方法内再定义方法;返回值类型void表示此方法不需要返回值,有返回值的方法在最后一定有 return 返回内容;

 6 //类的创建
 7 class Demo{
 8     //类变量
 9     private static int id;
10     //类的成员变量
11     private String name;
12     private char sex;
13     //类的构造器
14     public Demo() {
15         super();
16     }
17     public Demo(String name, char sex) {
18         super();
19         this.name = name;
20         this.sex = sex;
21     }
22     //类的成员方法
23     public void drink() {
24         //类的局部变量
25         String s ="drink";
26         System.out.println(s);
27     }
28     public static int getId() {
29         return id;
30     }
31     public static void setId(int id) {
32         Demo.id = id;
33     }
34     public String getName() {
35         return name;
36     }
37     public void setName(String name) {
38         this.name = name;
39     }
40     public char getSex() {
41         return sex;
42     }
43     public void setSex(char sex) {
44         this.sex = sex;
45     }
46     @Override
47     public String toString() {
48         return "Demo [name=" + name + ", sex=" + sex + "]";
49     }
50 }

方法的重载

//方法的重载
//1.在同一个类中;2.方法名称相同;3.参数类型不同或参数个不同;
class Overload{
    public void method(int a) {
        System.out.println(a);
    }
    public int method(int a,int b) {
        return a + b;
    }
    public double method(double a,double b) {
        return a + b;
    }
    public double method(double a,double b,double c) {
        return a + b + c;
    }
}

 匿名类

import java.util.Date;
public class NoNameClass {
    public static void main(String[] args) {
        // 匿名类对象
        System.out.println(new Date());
    }
}

 

finalize() 方法

Java 允许定义这样的方法,它在对象被垃圾收集器析构(回收)之前调用,这个方法叫做 finalize( ),它用来清除回收对象。

例如,你可以使用 finalize() 来确保一个对象打开的文件被关闭了。

在 finalize() 方法里,你必须指定在对象销毁时候要执行的操作。

finalize() 一般格式是:

protected void finalize()

{

   // 在这里终结代码

}

public class FinalizationDemo { 

  public static void main(String[] args) { 

    Cake c1 = new Cake(1); 

    Cake c2 = new Cake(2); 

    Cake c3 = new Cake(3); 

    c2 = c3 = null; 

    System.gc(); //调用Java垃圾收集器

  } 

class Cake extends Object { 

  private int id; 

  public Cake(int id) { 

    this.id = id; 

    System.out.println("Cake Object " + id + "is created"); 

  } 

  protected void finalize() throws java.lang.Throwable { 

    super.finalize(); 

    System.out.println("Cake Object " + id + "is disposed"); 

  } 

}

Cake Object 1is created

Cake Object 2is created

Cake Object 3is created

Cake Object 3is disposed

Cake Object 2is disposed

转载于:https://www.cnblogs.com/Aha-Best/p/10884502.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值