类和对象 Java

类:一个模板,有类才能产生对象(概念性的)

类中包含了对象所具备的属性和方法

class Person{

//成员变量,实例变量,属性

String name;

int age;

//成员方法,实例方法

public void fun(){}

}

对象:类的具体实例化,根据类来产生对象,使用关键字new

Person per=new Person();

看见new就有新空间,新对象。

类中的构造方法:当产生对象时由编译器自动调用

若我选择自己定义了构造方法,则默认的无参构造则不会生成

1.若定义类时没有指出明确的构造方法,编译器会自动产生一个无参构造

构造方法定义:与类名称相同,没有返回值声明的方法

2.构造方法的重载:参数的个数,构造方法就是为了给类中的属性做初始化

重载:定义在一个类中,若干个方法名称相同,参数的个数或者类型不同的一组方法叫重载方法,与方法的返回值无关。

3.构造方法的相互调用

a.必须放在首行 this(参数);

class Person{
    String name;
    int age;
    //alt+insert

    public Person(int age) {
        this();
        this.age = age;
    }
    public Person(){}
    public Person(String name,int age){
        this(age);
        this.name=name;
    }
}

b.不能成环

static关键字:静态关键字

看见static就表示与对象无关,static修饰的方法和属性是与类本身相关,static属性所有对象共享。

所有static域直接通过类名称访问,不需要对象就可以用,eg:Arrays.sort()

内存区域划分

1.栈(方法中的局部变量,引用)

当程序进入一个方法时,会为了这个方法单独分配一块私属存储空间,用于存储这个方法里的局部变量,当这个方法结束时,分配给这个方法的栈会被释放,这个栈中的变量也会被随时释放。

注意:方法中的局部变量若使用final修饰,放在堆里,而不是栈里。

2.堆(所有new出来的对象 int[] String s new Person(),全局变量 )

3.JVM方法区(静态变量)

代码块:使用大括号括起来的代段块就成为代码块,根据出现的位置和关键字化分为四类

普通代码块:定义在方法中,使用大括号括起来的代码块(了解)

构造块:定义在类中,不加任何修饰符,使用{},优先与构造方法执行,有几个对象就调用几次

静态块:定义在类中,使用static修饰的代码块,优先于构造块执行,类加载(main方法中使用了该类)时执行,只会被执行一次


面向对象编程的三大特性:封装,继承,多态

封装 private对属性做了封装处理,只在类的内部可见。一般来说,类的成员变量统一使用private进行封装。方法使用与否看具体情况。

public:公共的属性或者方法,无论什么时候都可见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值