java中的对象

一、对象概念

1.对象是由我们自己定义的类来创建出来的。
2.对象实际上就是类的具体实现。
        例如:修建大楼时绘制的设计图纸就是类,根据设计图纸修建起来的真实的可以住人的
                   大楼就是对象。
                    类--抽象【抽取象什么一样的东西】--模板【设计图】
                    对象--实现--实例【楼房】
3.没有类就没有对象
4.一个类可以创建出多个对象
5.类是对象的模板,对象是类的真实表现

对象的作用
        
调用类中的变量和方法   

二、如何创建对象【new】

1.当前类中--new+构造方法---this
2.其他类中--new+构造方法
 格式  :  new  构造方法( [参数值] );
例如:在本类中

package com.wangxing.test1;

public class duiXiang {
	//创建公共实例成员变量/静态变量
	public String name="zhangsan";
	public static int int1=1001;
	public duiXiang(){
		new duiXiang();
		//当对象在类中声明,要使用变量或方法时
		System.out.println(new duiXiang().int1);
		System.out.println(this.int1);
	}
}

在其他类中

package com.wangxing.test1;

public class test {
	public static void main(String args[]){
		new duiXiang();
	}
}

三、对象访问变量 

1.局部变量在其他类中年不能访问。
2.实例变量只能对象访问
3.静态变量类名访问,可以对象访问
4.实例变量在同一个类的多个对象之间不能数据共享
   静态变量在同一个类的多个对象之间能数据共享
例如:

package com.wangxing.test1;

public class fangWenBianLiang {
	//创建实例成员和静态成员
	public String name="lisi";
	public static int int1=1001;
	public fangWenBianLiang(){}
	//创建一个无返回值和无参实例方法
	public void method1(){
		//实例方法只能对象访问或者this指向这个类的对象
		System.out.println("对象访问实例变量="+new fangWenBianLiang().name );
		System.out.println("对象访问实例变量="+this.name );
		//System.out.println("实例变量只能对象访问实例变量="+object.name );
		
		//静态变量类名访问,可以对象访问
		System.out.println("对象访问静态变量="+this.int1 );
		System.out.println("对象访问静态变量="+new fangWenBianLiang().int1 );
		System.out.println("对象访问静态变量="+fangWenBianLiang.int1 );
	}
}

test类测试对象访问

package com.wangxing.test1;

public class test {
	public static void main(String args[]) {
		// 创建fangWenBianLiang类的对象
		fangWenBianLiang obj1 = new fangWenBianLiang();
		fangWenBianLiang obj2 = new fangWenBianLiang();
		// 测试实例变量和静态变量在多个对象之间数据是否共享
		// 实例变量
		System.out.println("实例变量obj1.name=" + obj1.name);
		obj1.name = "zhangsan";
		//多个对象中不能共享数据
		System.out.println("实例变量obj1.name=" + obj1.name);
		System.out.println("实例变量obj2.name=" + obj2.name);
		// 静态变量
		System.out.println("静态变量obj1.int1=" + obj1.int1);
		obj1.int1 = 1002;
		//多个对象中能共享数据
		System.out.println("静态变量 obj1.int1=" + obj1.int1);
		System.out.println("静态变量 obj2.int1=" + obj2.int1);
	}
}

java中的对象_第1张图片

四、对象访问方法 

1.构造方法的访问--new
2.实例方法只能对象访问
3.静态方法类名访问,可以对象访问
4.有参数方法,需要传递参数【个数,类型】【要什么,给什么】
5.有返回值,方法体中的最后一句是return,返回的数据值要与方法的返回值类型匹配,
   调用有返回值的方法需要定义变量来接收方法的返回值【给什么,收什么】
例如:

package com.wangxing.test1;

public class fangWenFangfa {
	public fangWenFangfa(){}
	//创建无返回值无参的实例方法
	public void method1(){
		System.out.println("无返回值无参的实例方法");
		//this.method1();
	}
	public String method3(int id,String name){
		System.out.println("有返回值返回值有参的实例方法");
		String info="id=="+id+"---"+"name=="+name;
		return info;
	}
	
	//创建无返回值无参的静态方法
	public static void method2(){
		System.out.println("无返回值无参的静态方法");
	}
	
}

 测试类

package com.wangxing.test1;

public class testFangFa {
	public static void main(String args[]){
		//创建fangWenFangfa类的对象
		fangWenFangfa fwff=new fangWenFangfa();
		
		//实例方法只能对象访问,在同一类时可以使用this指向类对象访问实例方法
		fwff.method1();
		//fangWenFangfa.method1();
		
		//静态变量,在同一类时可以使用this指向类对象访问静态方法
		fwff.method2();
		fangWenFangfa.method2();
		
		//有参数方法,需要传递参数【个数,类型】【要什么,给什么】
		//有返回值,方法体中的最后一句是return,返回的数据值要与方法的返回值类型匹配,
		// 调用有返回值的方法需要定义变量来接收方法的返回值【给什么,收什么】
		String info1= fwff.method3(1001, "zhangsan");
		System.out.println("对象访问有返回值参数的实例方法结果:"+info1);
	}
}

java中的对象_第2张图片

你可能感兴趣的:(java基础,java)