类使用进阶(课堂笔记)

时间:2021-6-7 作者:qvyue
    // 构造方法
    public Phone(double kucun,double gao, int zhong,String yanse){
        width = kucun;
        high = gao;
        weight = zhong;
        color = yanse;
    }

作用:帮助开辟内存空间,创建对象

特征:

1 没有返回值

2 名字要求和类名完全一致,区分大小写

3 分为有参构造方法和无参构造方法

3.1 无参构造方法不管是否书写,都会存在

 3.2 有参构造方法要手动编写,参数个数可以自定义

方法重载

上面的三个构造方法==》方法的重载

1 在同一类中

2 方法的名字相同

3 参数不同

    3.1参数的个数不同

    3.2参数的类型不同

    3.3 参数类型的顺序不同

toString

 public String toString(){
        return "{"+ this.weight+""+this.high+""+this.width+""+this.color+"}";
    }

作用:把对象按照人能够理解的方式重写

this

表示当前的对象(谁能调用当前方法,this指代的就是谁)

Object类

是所有类的父类,但凡其他的类被创建,Object一定被创建。

Object类中有一些固定的写法,即使没写,其他所有的类中都有这些方法

equals()原生的:比较的是两个对象的地址是不是相同,一般不能满足使用,推荐客户复写

public boolean equals(Object obj) {
        return (this == obj);
    }

toString()原生的:返回的是对象的内存地址

public Strng toString(){
    return getClass().getName()+"@"+Integer.toHexString(hashCode());
}

static 静态的

可以修饰成员属性,还可以修饰方法

被修饰的成语,类一旦创建,便分配了内存空间,可以直接通过类名.方法()的方式调用

不需要对象即可使用,通过对象也可以调用 ,但是不推荐

没有被修饰的成员: 必须等待对象被创建,才拥有独立的内存空间,值可以通过对象名()调用

final最终的

被final修饰的成员,值一旦被写定,不能再被轻易修改

类成员的执行顺序

public class Demo01 {
    // 2 普通的属性或者代码块其次执行,从上往下执行
    int size = 1;
    // 代码块
    {
        size = 10;
    }
    
    // 1被static最先执行,都被修饰的从上往下执行
    static {
        count = 3;
    }
    static int count =30;
    
    // 3最后执行构造方法
    public Demo01(){
        System.out.println(size);
        System.out.println(count);
    }

内部类

和普通成员一样,拥有对应的使用方式

public class Demo02 {
    String name;
    int age;
    
    public void fun(){
        System.out.println("普通的成员方法");
    }
    
    class Inner{
        int sex;
        double high;
        
        public void fun01(){
            System.out.println("内部类中的普通方法");
        }
    }
    
}

权限管理

修饰符 同一类 用一个包 子类 所有类
public
default
protected
private
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。