java之入门语法(类与对象)

1.面向对象思想概述

面向过程:当要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节。
面向对象:当要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事。

2.类与对象

一个类包含成员变量(属性)和成员方法(行为)

public class student {
  // 成员变量直接定义在类当中,在方法外面
  String name;
  int age;
  // 成员方法不要写static关键字。
  public void eat(){}
  public void sleep(){}
  public void study(){}
}
// 通常情况下,一个类并不能直接使用,需要根据类创建一个对象,才能使用。
// 步骤:
// 1.导包:也就指出需要使用的在什么位置
// import 包名.类名称;
// 对于当前和当前类属于同一个包的情况,可以省略包语句不写。
// 2.创建:
// 格式:类名称 对象名 = new 类名称();
// 3.使用:
// 分为两种情况:
// 使用成员变量名:对象名.成员变量名
// 使用成员方法:对象名.成员方法名(参数)
// 也就是说想用谁,就用对象名点儿谁
// 注意事项:如果成员变量没有进行赋值,那么将会有一个默认值,规则和数组一样
 
public class Demo2Student {
  public static void main(String[] args){
    Student stu = new Student();
    System.out.println(stu.name);// null
    System.out.println(stu.age);// 0
    // 改变对象当中的成员变量数值内容
    // 将右侧的字符串,赋值交给stu对象当中的name成员变量
    stu.name = "123";
    
    stu.eat();
  }
}

当一个对象作为参数,传递到方法当中时,实际上传递进去的是对象的地址值。

  • 成员变量与局部变量的不同:
  1. 定义位置不一样。局部变量定义在方法内部,成员变量定义在方法外部,直接写在类当中。
  2. 作用范围不一样。局部变量只有在方法当中才能使用,出了方法就不能再用。成员变量在整个类全都可以用。
  3. 默认值不一样。局部变量没有默认值,若想使用,必须手动赋值。成员变量如果没有赋值,会有默认值,规则和数组一样。
  4. 内存位置不一样。局部变量位于栈内存。成员变量位于堆内存。
  5. 生命周期不一样。局部变量随着方法进栈而诞生,随着方法出栈而消失。成员变量随着对象创建而诞生,随着对象被垃圾回收而消失。
  • 标准的类格式如下:
  1. 所有的成员变量都要使用private关键字修饰
  2. 为每个成员变量编写一对Getter/Setter方法
  3. 编写一个无参数的构造方法
  4. 编写一个全参数的构造方法

满足上述条件的类叫做JavaBean

3.访问控制

  • 一旦成员变量和成员方法被private修饰,那么在本类中依然可以访问。超出本类后就不能访问了。
  • 通过Setter/Getter方法可以用于向私有成员变量设置值和获取私有成员变量的值。
  • bool类型的成员变量的get方法要写成isXXX的形式
  • 当方法的局部变量和类的成员变量重名时,根据就近原则,优先使用局部变量。如果需要访问本类的成员变量,需要使用格式:this.成员变量名。通过谁调用的方法,谁就是this。

4.构造方法

  • 构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。
  • 格式为 public 类名称(参数类型 参数列表){ }
  • 构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样。
  • 构造方法不要写返回值类型,连void也不要写。所以构造方法不能return一个具体的返回值。
  • 如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法,没有参数,方法什么事情都不做。就像:public student(){ }。一旦写了至少一个构造方法,那么编译器将不再赠送。此时如果没有定义没有参数的构造方法,那么在新建对象时,不传入参数,就会报错。
  • 构造方法是可以进行重载的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值