Java中的类和对象

一、对象

1.对象的定义和作用

对象定义:客观存在的实体

作用:用于描述客观存在事物的一个实体。

理解:对象是一个你能够看得到、摸得着的具体实体

万事万物皆对象:只要能看的见、摸得到的物体都能被当成对象

2.对象的组成:

对象组成:属性&方法

属性定义:对象具有的特征(属性)

属性格式:

        访问权限修饰符   数据类型 属性名;

属性组成:

访问权限修饰符:

                public(公共)、默认(什么都不写)、protected(受保护的)、private(私有的)

作用:描述方法的作用范围

数据类型:八大基本数据类型 、三大引用类型(数组,类,接口)

属性名:变量、数组

方法定义:对象执行的操作(行为)

方法格式:

         访问权限修饰符 返回值类型  方法名([参数列表]){

                                                  方法体

            }

方法组成:

(1)访问权限修饰符:

                public(公共)、默认(什么都不写)protected(受保护的)、private(私有的)

(2)返回值类型:

                调用方法返回结果的类型,可以是八大基本类型,也可以是三大引用类型,还可以没有返回值,写void

(3)方法名:

                方法的名称,小驼峰命名法,做到见名知意

(4)参数列表:

                方法可以传递参数,也可以不需要参数,当方法有参数的时候,可以有一个参数,也可以有多个参数,多个参数之间使用逗号(,)隔开

(5)方法体:

                方法实现功能的具体代码体现

二、类

1.类的定义和作用

类的定义:具有相同属性和方法的一组对象的集合。

 作用:描述一组对象的共同特征和行为

注意:

(1)类名采用大驼峰命名法

(2)对象名采用小驼峰命名法

(3)方法名采用小驼峰命名法


类和对象的关系

(1)类是对象的抽象,对象是类的具体

(2)类是对象的模板,对象是类的特例

(3)类和对象的关系就是抽象和具体的关系

(4)类定义了对象将会拥有的特征(属性)和 行为(方法)

(5)类是多个对象进行综合抽象的结果,是实体对象的概念模型,而一个对象是一个类的实例。

  2 .类的格式

类的格式:

public  class  类名{

    属性:

              访问权限修饰符修饰符   数据类型 属性名;

    方法:

                访问权限修饰符修饰符  返回值类型  方法名([参数列表]){

                                          方法体

                  }

}

测试类格式:

package 包名;

public class 测试类名 {

    public static void main(String[] args) {

        创建对象:

                 类名  对象名  =  new  类名( );

        属性赋值:

                 对象名.属性1=属性值1;

                 对象名.属性2=属性值2;

                 对象名.属性3=属性值3;

       调用属性:

                对象名.属性( );

        调用方法:

                对象名.方法名( );
        

    }

}

3. 调用方法:

(1)同一类的两种静态方法或非静态可以直接相互调用,不需要用对象调用

package test;

public class Demo {
	//定义属性
	public String name;
	public String gender;
	public int age;
	//定义方法
	public void method1(){
		System.out.println("姓名:"+name+" "+"性别: "+gender+" "+"年龄:"+age);
        
	}
	
	public void method2(){
        System.out.println("我是方法2");
		method1();  //直接调用方法1
	}
	
}
//测试类
package test;

public class DemoTest {

	public static void main(String[] args) {
	//创建对象
	Demo de = new Demo();
    //调用方法
	de.method2(); //用对象调用方法2,显示的是方法2和方法1的内容
	}

}

(2)静态方法只能调用静态方法,非静态方法可以直接调用静态方法和非静态方法

(3)类可以直接调用静态方法,不可以调用非静态方法

package test;

public class Demo {
	//定义属性
	public static String name;
	public static String gender;
	public static int age;
	
	//定义方法
	
	public static void method1(){   //静态方法
		System.out.println("我是方法1!");
		System.out.println("姓名:"+name+" "+"性别: "+gender+" "+"年龄:"+age);
	}
	
	public void method2(){         //非静态方法
		System.out.println("我是方法2!");
		method1();  //非静态可以直接调用静态方法
		method4();  //非静态方法可以相互调用非静态方法
		
	}
	
	public static void method3(){  //静态方法
		System.out.println("我是方法3!");
		method1();  //静态方法只可以调用静态方法
		
	}
	
	public void method4(){        //非静态方法
		System.out.println("我是方法4!");
		Demo.method1();          //类可以直接调用静态方法不可以调用非静态方法
	}
}

//测试类
package test;

public class DemoTest {

	public static void main(String[] args) {
	//创建对象
	Demo de = new Demo();
	de.method3(); //对象可以调用静态方法和非静态方法
	Demo.method1();//类可以直接调用静态方法,不可以调用非静态方法
	
	}

}

4.方法分类

1.根据方法是否有返回值,将方法定义分为:

(1)无返回值的方法

                返回值类型写void,在调用无返回值的方法,不需要用任何变量来接收

(2)有返回值的方法

                返回值可以是任意的基本数据类型和任意的引用数据类型,调用有返回值的方法,需要用对应类型的变量来接收,或者直接将返回值输出,有返回值的方法需要在方法体内通过return关键字将结果返回回去

2.根据方法是否有参数列表,将方法定义分为:

(1)无参方法

                 方法名后面的()中没有任何参数

(2)有参方法

                 方法名后面的()中有参数,参数的个数可以是1个或者多个,参数的类型可以是基本数据类型,也可以是引用数据类型

3.方法的种类:

(1)无返回值的无参方法:

  格式:

                 访问权限修饰符 void  方法名( ){

                                  方法体

                    }


   (2)无返回值的有参方法:

      格式:

                访问权限修饰符 void  方法名(参数列表 ){

                                   方法体

                                  

                    }


     (3)有返回值的无参方法:

        格式:

                访问权限修饰符 返回值类型 方法名(  ){

                                   方法体

                                    return 

                                  

                    }


        (4) 有返回值的有参方法:

                格式:

                       访问权限修饰符 返回值类型 方法名(参数列表){

                                   方法体

                                    return ();

                                  

                    }

                

 方法调用原则:
(1)方法需要什么参数,就按照定义的规则传递参数
(2)方法返回什么类型的结果,就用什么类型的变量接收(也可以直接输出返回的结果)
 

 例:创建类和对象,练习基础操作​​​

package test;

public class Human {
	
	//定义属性
	public String name;
	public String gender;
	public int age;
	
	
	//定义方法
	
	//无返回值无参方法
	public void method(){
		System.out.println("姓名:"+name+" "+"性别: "+gender+" "+"年龄:"+age);
	}

	//无返回值有参方法
	public void means(String name,String gender,int age) {
		System.out.println("我的名字叫:"+name+","+"性别: "+gender+",今年"+age+"岁了");
		
	}
	
	//有返回值无参数方法
	public String technique() {
		return ("姓名:"+name+" "+"性别: "+gender+" "+"年龄:"+age);
		
	}
	
	//有返回值有参数方法
	public String way(String name,String gender,int age) {
		return (name +"的性别是"+gender+","+"他今年"+age+"岁了!" );
		
	}
	
}

//测试类

package test;

public class HuimanTest {

	public static void main(String[] args) {
		
		//创建对象
		Human hu = new Human();
		
		//属性赋值
		hu.name = "张三";
		hu.gender = "男";
		hu.age = 23;
		
		//调用无返回值无参方法
		hu.method();
		
		//调用无返回值有参方法
		hu.means("李四", "男", 24);
		
		//调用有返回无参值方法
		String resu=hu.technique();
		System.out.println(resu);
		
		//调用有返回值有参方法
		String result = hu.way("王五","男" , 25);
		System.out.println(result);
				
		

	}

}

5.成员变量和成员方法

成员变量:类的属性

作用:描述对象的特征

成员方法:类的方法

作用:描述对象的行为

6.成员变量和局部变量

成员变量:类中方法外的变量

局部变量:方法中的变量

1. 成员变量作用域

(1)定义在类中方法外部的变量

(2)成员变量可以在声明时赋初始值。

2.局部变量作用域

(1)定义在方法中的变量

(2)局部变量在使用前需要赋值,否则会编译出错。


3.成员变量和局部变量的区别

(1)作用域不同:

 1. 局部变量的作用域仅限于定义方法中,在方法外无法访问它。

 2.成员变量的作用域在整个类内部都是可见的,所有成员方法都可以使用它,如果访问权限允许,还可以在类外部使用成员变量。

(2)初始值不同:

  1. 对于成员变量,如果在类定义中没有给它赋予初始值,Java会给它一默认值

  2.对于局部变量,Java不会给局部变量赋予初始值,因此局部变量必须要定义并赋值后再使用。

(3)在同一个类中,不允许有同名成员变量。在同一个方法中,不允许有同名的局部变量。在不同的方法中,可以有同名的局部变量。

(4)局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值