类和对象

类:用来描述对象的(属性和方法)
类和对象的关系:
类是对象的抽象
对象是类的实例

  • 方法

权限修饰符 [特征修饰符] 返回值类型 方法名 ([参数列表])[抛出异常][{(方法体)}]

方法重载

  • 方法名相同参数类表不同:表现在参数的个数 参数的类型 参数的顺序

  • 目的 为了方便记忆与复用

  • 传参(有了形参):

    a) 相同类型

    b) 不同类型:可以找自动类型转换的值

    c) 不传参数:报错

JDK1.5新手法

public void test(int…x){ 方法体}

i. Int…x 动态传参列表

​ 类型固定,个数不固定(客串个数0-n个)

ii. 与public void test(){}

​ 构成重载,如果调用空参方法,优先执行空参函数

iii. 等价于 public void test (int[] array){}

​ 区别:前者可以不穿参数,后者必须传参数

类中的内部成员

  • 属性:静态描述类的特征

  • 方法:动态描述类的行为

  • 构造方法:用来创建当前类对象

    • 作用:创建当前类对象

    • 写法:

    权限修饰符 与类名一致的方法名([参数列表])[抛出异常]{

    创建对象;

    返回对象;

    }

    • 通过new字调用

    • 特点:

      A.每个类的都有构造方法,

      ​ 若自己在类中没有定义,系统会默认提供一个无参数构造方法;

      ​ 若在类中自己定义了构造方法,则默认无参数构造方法被覆盖

      B.构造方法存在方法的重载

  • 程序块:一个方法(只可以用static或不修饰 无返回值 无名字 无参数 )

    • 作用:做事

    • 写法:

      {做事情}

    • 用法:块也需要调用才能执行,自动执行

      ​ 每一次我们调用构造方法之前

      ​ 系统会自动的调用程序块

    • 特点:

      没有重载概念

      但是,在类中可以定义多个代码块

this关键字的使用,代替某个对象

  • 代替一个对象

  • this可以调用属性和方法

    可以调用构造方法 => this();

  • 位置:

    可以放在类中的任何成员位置,上下顺序顺意

类中四成员

  • 属性:静态描述特征(存值)

    权限修饰符 [特征修饰符] 属性类型 属性名字[=值];

  • 方法:动态描述行为(做事)

    权限修饰符[特征修饰符] 返回值类型 方法名([参数列表])[抛出异常][{方法体}]

  • 构造方法:创建当前类对象

    权限修饰符 与类名一致的方法名([参数列表])[抛出异常]{方法体}

  • 程序块

    构建对象前自动调用

    {

    方法体;

    }

  • this关键字的使用

    用来代替某一对象;

    可以调用一般属性或一般方法 放置在任何类成员中;

    可以调用构造方法 能放在类一个构造方法内 但只能放在程序的第一行;

package demo5_18;

import com.sun.media.jfxmediaimpl.HostUtils;

public class Student {
    // 成员属性
    private String name;
    private int age;
    // 空参构造
    public Student() {
    }
    // 全参构造
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
      // 程序快,在创建对象之前被创建
    {
        System.out.println(this.name);// null 证明了他在构造方法之前被创建
        System.out.println("this is a process block");
    }

    // getter and setter 方法
    public String getName() {
        return name;
    }
  
    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

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

    // 成员方法
    public void study(){
        System.out.println(this.age+"岁的"+this.name+"正在学习");
    }
    public void eat(){
        System.out.println(this.age+"岁的"+this.name+"正在吃饭");
    }
    // 动态传递数组 int...x
    public void test(int...x){
        for (int i : x) {
            System.out.println(i);
        }
        System.out.println("使用动态传递数组的方法");
    }
    // 存在重载,当与空参数的重载同时出现时,优先调用空参数的重载
    public void test(){
        System.out.println("这是test 的空参数重载方法");
    }
    

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值