Java类和对象(一)

本文深入解析了面向对象编程的概念,通过类和对象实例化阐述了Java中的学生类。讲解了类的属性(姓名、年龄)、行为(吃饭、睡觉、学习),并展示了如何使用private、getter/setter、构造方法和this关键字。重点介绍了封装、继承和多态,以及如何创建标准JavaBean类。
摘要由CSDN通过智能技术生成

一、面向对象 

面向 对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情
面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节
面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事儿。

二、类的定义

类是用来对一个实体 ( 对象 ) 来进行描述的 ,主要描述该实体 ( 对象 ) 具有哪些属性 ( 外观尺寸等 ) ,哪些功能 ( 用来干啥 ),描述完成后计算机就可以识别了。

定义一个类,用来模拟“学生”事物,其中就有俩个组成部分。


属性(是什么):
     姓名
     年龄
行为(能做什么):
     吃饭
     睡觉
     学习

对应到java的类当中

成员变量(属性):
     String name;//姓名
     int age;//年龄
成员方法(行为):
     public void eat(){ }//吃饭
     public void sleep(){ }//睡觉
     public void study(){ }//学习

注意:

1.成员前写法统一为public

2.成员变量是直接定义在类当中的,在方法外边

3.类名注意采用大驼峰形式

定义一个学生类

public class Student {
    public String name; 
    public short age;  
    
   public void eat(){
        System.out.println("吃饭!");
    }

    public void sleep(){
        System.out.println("睡觉!");
    }
    public void study(){
        System.out.println("学习!");
    }

}
注意事项:
1. 一般一个文件当中只定义一个类
2. main 方法所在的类一般要使用 public 修饰 ( 注意: Eclipse 默认会在 public 修饰的类中找 main 方法 )
3. public 修饰的类必须要和文件名相同
4. 不要轻易去修改 public 修饰的类的名称,如果要修改,通过开发工具修改

三、类的实例化

定义了一个类,就相当于在计算机中定义了一种新的类型用类类型创建对象的过程,称为类的实例化。

通常情况下,一个类并不能直接使用,需要根据创建一个对象,才能使用。

//1、导包

//位于同一个包下,可以省略不写

//2、创建,格式
Student stu = new Student();

//3、使用
//对象名.成员变量名
System.out.println(stu.name);
System.out.println(stu.age);

//改变对象当中的成员变量数值内容
System.out.println("======================");
stu.name="王奥奥";
stu.age=18;
System.out.println(stu.name);
System.out.println(stu.age);
System.out.println("======================");

//4、成员方法
// 使用成员方法:对象名.成员方法名(参数)
stu.eat();
stu.sleep();
stu.study();
注意事项
1、new 关键字用于创建一个对象的实例 .
2、使用 . 来访问对象中的属性和方法 .
3、同一个类可以创建对个实例 .

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

1、定义的位置不一样

     局部变量:在方法的内部

     成员变量:在方法的外部,直接写在类当中

2、作用范围不一样

     局部变量:只有在方法中才能使用,出了方法不能使用

     成员变量:整个类都可以通用

3、默认值不一样

      局部变量:没有默认值,如果想使用,必须手动赋值

      成员变量:如果没有赋值,会有默认值,规则和数组一样

4、内存位置不一样

      局部变量:位于栈内存

      成员变量:位于堆内存

5、生命周期不一样

     局部变量:随着方法进栈而诞生,随着方法出栈而消失

     成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失

六、面向对象的特征

面向对象的三大特征:封装、继承、多态。

封装性在Java中的体现:
1、方法就是一种封装
2、关键字private也是一种封装

七、Private关键字

问题描述:定义Person的年龄时,无法阻止不合理的数值被设置进来
解决方案:用private关键字将需要保护的成员变量进行修饰。

一旦使用了private进行修饰,那么本类当中仍然可以随意访问。
但是!超出本类范围之外就不能访问了。

间接访问private成员变量,就是定义了一对儿Getter/Setter方法
必须叫setXXX或者getXXX命名规则。
对于Getter来说,不能有参数,返回值类型和成员变量对应;
对于Setter来说,不能有返回值,参数类型和成员变量对应。

String name;

private int age;

public void show(){
    System.out.println("我叫"+name+",今年"+age+"岁。");
}

//这个成员方法,专门用于age设置数据
public void setAge(int num){

 if(num<100 && num>0){
        age = num;
    }else{
        System.out.println("数据错误");
    }

}
//这个成员方法,专门获取age的数据
public int getAge(){
    return age;
}

!!!对于基本类型当中的Boolean值,Getter方法一定要写成isXXX的形式,而

setXXX不变

private boolean male;//是不是男的
public void setMale(boolean b){
    male = b;
}
public boolean isMale() {
    return male;
}

八、this关键字

当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,优先使用局部变量。
如果需要访问本类当中的成员变量,需要使用格式:
this.成员变量名

通过谁调用的方法,谁就是this.

String name;
//参数是对方的名字
//name是自己的名字
public void sayHello(String name){
    System.out.println(name+",你好!我是"+this.name);
}

九、构造方法

构造方法是专门用来创建对象的方法,当我们通过关机字new来创建对象时,其实就是在调用构造方法。


格式:
public 类名称(参数类型 参数名称){
       方法体

}

注意:
1、构造方法的名称必须和所在的类名称完全一样,就连大小写也一样;
2、构造方法不要写返回值类型,连void都不写;
3、构造方法不能return一个具体的返回值;
4、如果没有编写容忍和构造方法,那么编译器将会默认赠送一个构造方法,没有参数、方法体什么都不做;
public Stuednt02(){}
5、一旦编写了至少一个构造方法,那么编译器将不再赠送;
6、构造方法也是可以进行重载的。
   重载:方法名称相同,参数列表不同。

public class Student02 {

    //成员变量
    private String name;
    private int age;

    //无参数的构造方法
    public Student02(){
        System.out.println("无参构造方法执行啦!");
    }

    //有参数的构造方法
    public Student02(String name,int age){
        System.out.println("全参构造方法执行啦!");
        this.name = name;
        this.age = age;
    }

    // Getter Setter
    public void setName(String name){
        this.name = name;
    }

    public String getName(){
        return name;
    }

    public void setAge(int age){
        this.age = age;
    }

    public int getAge(){
        return age;
    }
}
注意:构造方法的作用就是对对象中的成员进行初始化,并不负责给对象开辟空间。

十、定义一个标准的类

一个标准的类通常要拥有下面四个组成部分:

1、所有的成员变量都要使用private关键字修饰
2、为每一个成员变量编写一对儿Getter/Setter方法
3、编写一个无参数的构造方法
4、编写一个有参数的构造方法

这样的标准类也叫做Java Bean

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值