java 类和对象_java 类和对象 概念

面向对象程序设计

OOP:将数据和对数据的操作行为放在一起

2、类与对象

public classObjectTest {public static voidmain(String args[]) {

Box box1=newBox();

System.out.print(box1.getWidth());

}

}classBox{//创建一个box类。包含成员变量和方法//成员变量

intwidth;intheight;private intdepth;

String getWidth() {returnString.valueOf(width);

}

}

3、类成员与作用域

域、方法、构造方法:构造方法使用new的时候为该对象分配内存,并调用构造方法来初始化对象

[类的修饰符] class 类名 [extends 父类]

类的作用域:public、package(缺省)

区分类的作用域、成员变量的作用域、方法中变量的作用域

域:成员变量,public、protected、缺省值、private、static、final

public 可以在类外被使用

protected 在同一包或子类中使用

缺省: 在同一包中被使用

private:只能在类中访问

4、构造方法与重载

1构造方法与类名同名

2构造方法无返回类型,参数可重载

public classOverloadTest {public static voidmain(String args[]) {

boxtest box1=newboxtest();

boxtest box2=new boxtest(true);

boxtest box3=new boxtest(45);

}

}classboxtest {

boxtest(){

System.out.print("no parameter");

}

boxtest(inth){

System.out.print(h);

}

boxtest(booleanb){

System.out.print(b);

}

}

结果:no parametertrue45

5、this

被调用的方法的当前对象的引用,仅能出现在类中的方法体中。

//this 指代box2

public classThisTest {public static voidmain(String args[]) {

lovelybox box2=new lovelybox(5,6,7);

System.out.print(box2);

}

}classlovelybox{private intfir;private intsec;private intthird;

lovelybox(int fir,int sec,intthird) {this.fir=fir;this.sec=sec;this.third=third;

}publicString toString() {return String.valueOf(fir)+String.valueOf(sec)+String.valueOf(third);

}

}

6、set 和get

set变量和get变量的方法对私有变量进行修改,可对参数进行检测

public classSetGetTest {public static voidmain(String b[]) {

animal katty= newanimal();

System.out.println(katty.getKind());

System.out.println(katty.getSize());

katty.setKind("pussy");

katty.setKind("cat");

System.out.println(katty.getKind());

}

}classanimal{private int size=10;private String kind="dog";public voidsetKind(String changeKind) {if(changeKind!="cat") {

System.out.println("It is not a cat");

}else{

kind=changeKind;

System.out.println("animal is a"+kind);

}

}publicString getKind() {returnkind;

}public intgetSize() {returnsize;

}

}

7、static 方法和域

static 变量\方法 (类的变量、方法)-----是指成员变量是类和它的所有对象共同拥有的

非静态--------各个对象分别有自己的同名变量、方法

使用格式:

类名.静态变量名;类名.静态变量方法;

静态方法的成员变量也是静态的

8、Main方法

public static void main(String args[]){}

main()方法是Java应用程序的入口方法。

运行 java  com.Helloworldl.Main

当运行一个类时,JVM调用main()方法。

9、实例初始化器、静态初始化器

实例初始化器---在实例化一个对象之前执行,无方法名。用{}包含在内

静态初始化器---在jvm加载类定义的时候执行,只执行一次。

public classInitializerTest {public static voidmain(String args[]) {

testIn test1;

System.out.println("hi");

test1=newtestIn();

testIn test2;

test2=newtestIn();

}

}classtestIn{private static inttimes;

{

times+=1;

System.out.println("Instance Initializer has been runned for "+String.valueOf(times)+" times");

}static{

times+=1;

System.out.println("static Initializer has been runned for"+String.valueOf(times)+" times");

}

testIn(){

System.out.println("constructor");

}

}

10、垃圾收集

1、当对象不再被使用时,会被java清除掉。显式的方法:System.gc

garbage collector :Java垃圾收集器

当对象=null;时对象不再被引用,可被清除

2、可定义finalize()方法,protected void finalize(){}

当对象被清除时:自动运行该方法。

11、java常用包列表

java.lang:基本语言类,自动导入

java.io

java.util  实用的数据类型类

java.awt\java.applet

java.net

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值