java-课堂笔记

**构造方法**

```java
// 构造方法,用于在内存中创建对象
    public Phone(){
        System.out.println("我被构造了");
    }
    public Phone(double kuan, double gao, int zhong, String yanse){
        width = kuan;
        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.weight+""+this.color+"}";
    }

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

this

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

 public Phone(double width, double high, int  weight, String color ){
        this.width = width;
       this.high = high;
        this.weight = weight;
        this.color = color ;
    }

Object类

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

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

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

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

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

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

static 静态的

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

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

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

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

final最终的

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

类成员的执行顺序

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

内部类

public class demo03 {
    String name;
    int age;
    
    public void fun(){
        System.out.println("普通成员方法");
    }
    
    class Inner{
        int sex;
        double high;

        public void fun01(){
            System.out.println("内部类中的普通方法");
        }
    }
}

权限管理

20190510215435555.png

你可能感兴趣的:(java-课堂笔记)