Java类及成员


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

 public class TestClass {
     public static void main(String[] args) {

     }
 }
 //类的创建
 class Demo{
     //类变量
     private static int id;
     //类的成员变量
     private String name;
     private char sex;
     //类的构造器
     public Demo() {
         super();
     }
     public Demo(String name, char sex) {
         super();
         this.name = name;
         this.sex = sex;
     }
     //类的成员方法
     public void drink() {
         //类的局部变量
         String s ="drink";
         System.out.println(s);
     }
     public static int getId() {
         return id;
     }
     public static void setId(int id) {
         Demo.id = id;
     }
     public String getName() {
         return name;
     }
     public void setName(String name) {
         this.name = name;
     }
     public char getSex() {
         return sex;
     }
     public void setSex(char sex) {
         this.sex = sex;
     }
     @Override
     public String toString() {
         return "Demo [name=" + name + ", sex=" + sex + "]";
     }
 }

类的成员属性

成员变量

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

局部变量

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

类变量

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

类的构造器

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

类的成员方法

方法调用

Java 支持两种调用方法的方式,根据方法是否返回值来选择。当程序调用一个方法时,程序的控制权交给了被调用的方法。当被调用方法的返回语句执行或者到达方法体闭括号时候交还控制权给程序。当方法返回一个值的时候,方法调用通常被当做一个值。例如:int larger = max(30, 40);如果方法返回值是void,方法调用一定是一条语句。例如,方法println返回void。下面的调用是个语句:System.out.println("欢");

public class TestMax {

/** 主方法 */

public static void main(String[] args) {

int i = 5;

int j = 2;

int k = max(i, j);

System.out.println( i + " 和 " + j + " 比较,最大值是:" + k);

}

/** 返回两个整数变量较大的值 */

public static int max(int num1, int num2) {

int result;

if (num1 > num2)

result = num1;

else

result = num2;

return result;

}

}

方法的重载

创建另一个有相同名字但参数不同的方法

方法的重写

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

最新文章

  1. B:Wordpress不同分类调用不同的模板
  2. PDF 补丁丁 0.4.2.1063 测试版发布:新增检查新版本功能
  3. 如何利用phpize在生产环境中为php添加新的扩展php-bcmath
  4. SQL SERVER 中 GO 的用法2
  5. 方法:Linux 下用JAVA获取CPU、内存、磁盘的系统资源信息
  6. CODEVS 1069关押罪犯
  7. C# 多线程详解
  8. Effective C++ -- 构造析构赋值运算
  9. 国内PaaS概述和EEPlat定位
  10. 2017 ICPC 广西邀请赛1005 CS Course
  11. 打造MacOS版“XShell”
  12. Runtime系列(一)-- 基础知识
  13. [JSOI2008]Blue Mary的旅行
  14. HTML标记语言
  15. iOS实现 webView loadHTMLString加载外部css、js样式
  16. 【POJ 3176】Cow Bowling(DP)
  17. IDEA中将WEB-INF\lib下的Jar包添加到项目中
  18. JSP属性的四种保存范围(page request session application)
  19. iOS 数据库sqlite完整增删改查操作
  20. Oracle undo 表空间管理 (摘DAVID)

热门文章

  1. linux 运行tensorflow文件缺少_bz2问题及解决
  2. zoj 1671 Walking Ant
  3. ORACLE database console无法登陆
  4. 【JAVA】merge two array by order
  5. oc 和swift混编的时候打包ipa安装不了
  6. 8.30 "我什么都不会"
  7. Baum–Welch algorithm
  8. E: Unable to lock the administration directory (/var/lib/dpkg/)
  9. bzoj3132
  10. bzoj4756