Java类和对象

目录

面向对象特征:

对象的静态特征——属性

对象的动态特征——方法

方法:用来描述对象执行的操作

类和对象的关系:

Java的类模板

如何定义类:

创建和使用对象:

1:创建对象

 2:引用对象成员:使用“.”进行以下操作

方法的返回值

return 表达式;作用: 跳出方法、返回结果

成员变量和局部变量

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

就近原则:

引用数据类型:

带参的方法:

调用带参数的方法


面向对象特征:

封装、继承、多态

面向对象优势:软件可重用性、可维护性和可扩展性强

面向对象开发:就是不断的创建对象,使用对象,指挥对象做事情

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

类名首字母要大写、英文、见名知意、满足驼峰模式、不能用关键字、满足标志符规定

对象:用来描述客观事物的一个实体,由一组属性和方法构成

对象的静态特征——属性

属性:对象具有的各种静态特征

每个对象的每个属性都拥有特定值

例如:张浩和李明的年龄、姓名不一样

对象的动态特征——方法

方法:用来描述对象执行的操作

类和对象的关系:

一个类为它的全部对象给出了一个统一的定义,而它的每个对象则是符合这种定义的一个实体。

类和对象的关系就是抽象和具体的关系。

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

类是对象的类型

Java的类模板

public class  类名 {            //类名首字母大写
        //定义属性部分
        属性1的类型 属性1;
        属性2的类型 属性2;
	  …
        属性n的类型 属性n;

        //定义方法部分
        方法1;
        方法2;
        …
        方法m;
}

如何定义类:

public class School {
    //成员变量(属性)
	String schoolName;	//中心名称
	int classNumber;		//教室数目
	int labNumber;		//机房数目
	
	//定义方法(方法)
	public void showCenter() {
		System.out.println(schoolName + "培训学员\n" + "配备:" 
			+ classNumber + "教" + labNumber + "机");
	}
}

创建和使用对象:

使用对象的步骤:

1:创建对象

语法:类名 对象名 = new  类名();

School center = new School();

 2:引用对象成员:使用“.”进行以下操作

 引用类的属性:对象名.属性

 引用类的方法:对象名.方法名()

center.name = “郑州中心";    //给name属性赋值
center.showCenter();	     //调用showCenter()方法

代码展示:

public class InitialSchool {
	public static void main(String[] args) {
		School center = new School();
		System.out.println("***初始化成员变量前***");
		center. showCenter();

		center.schoolName = “郑州中心";		
		center.classNumber = 10;				
		center.labNumber = 10;				
		System.out.println("\n***初始化成员变量后***");
		center.showCenter();
	}
}

类的无参放法

public   返回值类型  方法名()  {
           //方法的主体
}

代码展示

public class AutoLion { 
    String color = "黄色";

    public void run() {
          System.out.println("正在以0.1米/秒的速度向前奔跑");
    }  
    public void cry()  {
          String sound = "大声吼叫" ;   
    }
    public String robBall() {
   String ball = "球";
   return ball;
    } 
}

方法的返回值

第一种情况:如果方法没有返回值,返回值类型为void

第二种情况:如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该返回值的类型

return 表达式;作用: 跳出方法、返回结果

方法调用:对象名.方法名();

代码展示

public class TestLion {
    public static void main(String[ ] args) {
           AutoLion lion = new AutoLion();
           String info = lion.showLion();
           System.out.println(info);
           lion.run();
           System.out.println("抢到一个" + lion.robBall());
     }
}

 方法之间允许相互调用,不需要知道方法的具体实现,实现重用,提高效率

1、:同一个类中的方法,直接使用方法名调用该方法

public void a( ) {
    b( );    //调用b( )
} 

2、不同类的方法,先创建类对象,再使用“对象名.方法名()”来调用

public void a( ) {
    Teacher t = new Teacher( );
     t.b( ); //调用Teacher类的b()
} 

 注意:

1、方法的返回值类型为void,方法中不能有return 返回值!

2、方法不能返回多个值!

3、多个方法不能相互嵌套定义!

4、不能在方法外部直接写程序逻辑代码!

5、方法不调用就不执行

6、方法的编写顺序和执行顺序无关

7、return语句下不能编写代码,因为永远执行不到,属于无效代码

成员变量和局部变量

声明的位置决定变量作用域

在类中定义的变量为类的成员变量,在方法中定义的变量称为局部变量

public class AutoLion{ 
    变量1类型  变量1;    (成员变量)                  
    变量2类型  变量2;
    变量3类型  变量3;
    public 返回类型 方法1(){
        变量4类型  变量4;     (局部变量)
    }
    public 返回类型 方法2(){
        变量5类型   变量5;    (局部变量)                    
    } 
}

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

作用域不同:

1、局部变量的作用域仅限于定义它的方法

2、成员变量的作用域在整个类内部都是可见的

初始值不同:

1、Java会给成员变量一个初始值

2、Java不会给局部变量赋予初始值

3、在同一个方法中,不允许有同名局部变量

4、在不同的方法中,可以有同名局部变量

5、在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级

就近原则:

System.out.println(sge);
System.out.println(this.sge);

this :用于区别成员变量和局部变量:

基本数据类型:

数据值是存储在自己的空间中

特点:赋值给其他变量,也是赋的真实的值;

引用数据类型:

数据是存储在其他空间中,自己空间中存储的是地址在

特点:赋值给其他变量,赋的地址值

带参的方法:

<访问修饰符>  返回类型  <方法名>(<形式参数列表>) {
	      //方法的主体
}

<访问修饰符>指的是该方法允许被访问的权限范围,只能是publicprotectedprivate。其中public表示该方法可以被任何其他代码调用,private是一个权限修饰符,可以修饰成员(成员变量和成员方法)被private修饰的成员只能在本类中才能访问

<形式参数列表>是传递给方法的参数列表,列表中各参数间以逗号分隔,格式:

 数据类型  参数1, 数据类型  参数2,  … , 数据类型  参数n

如果n=0,则代表没有参数,这时的方法就是前面学习过的无参方法

调用带参数的方法

对象名.方法名(参数1, 参数2,……,参数n

在定义方法和调用方法时,把参数分别称为形式参数实际参数,简称形参实参形参是在定义方式时对参数的称呼,目的是定义方法需要传入的参数个数和类型实参是在调用方式时传递给方法处理的实际的值

调用方法时,需要注意两点

1:先实例化对象,在调用方法

2:实参的类型、数量、顺序都要与形参一 一对应

基本类型和引用类型传参的区别

1、如果方法传递的参数为基本数据类型时,操作传递的是变量的值,改变形式参数的值不会影响实际参数的值

基本类型:byte、int、short、long、float、double、char、boolean

2、如果方法传递的参数为引用数据类型时,传递参数的过程是把原对象的引用(可理解为内存地址)传递给另一个引用

引用类型:String、数组、接口、类

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值