java(0-2)基础的整理

用new一定是在堆内存开辟新的空间

在其他类中访问这个类,必须添加这个类的类名:

面向对象:

封装 继承 多态

封装 : 生活中:衣服有的口袋有拉链,有的没有拉链; 作用目的:为了提高的访问安全性。

private:私有,加了个拉链;修饰属性和方法,一般不修饰方法。强调的是属性的私有,这就是封装。

 default protected  public  访问权限

 一个类的生命周期:

 构造函数,也叫做构造方法,特殊的方法(不能够手动调用)
 *      1 构造方法名和类名一致
 *      2 没有返回值类型的声明
 *      3 访问修饰符可选
 *      4 不能够手动调用
 *      5 和创建对象是相关的  创建对象总是依赖 (看构造函数的参数) 类中提供的构造函数
 *      
 *      如果一个类中没有提供任何构造函数,java编译器在编译的时候会自动提供默认无参构造函数。
 *      如果一个类提供了构造函数,创建对象必须依赖类中已经提供的构造函数。
 *      
 *      构造函数的作用:就是可以给类中的属性初始化赋值的一种机制
 *      
 *      一个类中可以有多个构造函数,构造函数重载,重载:1个类中有相同的方法名,不同的参数列表,有不同的结果。

this 谁调用的,就是指代的谁,这里this指代e1和e2      this.name表示给当前对象赋值(age name)。

(结合上面构造函数的作用理解)

 静态块:最先被加载,只执行一次。

构造函数与普通函数的区别:

  • 一般函数是用于定义对象应该具备的功能。而构造函数定义的是,对象在调用功能之前,在建立时,应该具备的一些内容。也就是对象的初始化内容。
  • 构造函数是在对象建立时由JVM调用, 给对象初始化。一般函数是对象建立后,当对象调用该功能时才会执行。
  • 普通函数可以使用对象多次调用,构造函数就在创建对象时调用。
  • 构造函数的函数名要与类名一样,而普通的函数只要符合标识符的命名规则即可。
  • 构造函数没有返回值类型。

 匿名构造块:总是随着创建对象,调用。

 1. 静态块首先被加载执行,只执行一次(main函数所在类)
 2. main函数是入口,根据main函数中代码的顺序执行

静态块的作用:最先被执行,只执行一次。

静态块的规则:直接使用静态变量,不能直接使用实例变量,不能使用关键字this

(创建对象总是依赖 (看构造函数的参数) 类中提供的构造函数)

执行顺序:静态代码块 => 匿名代码块 => 构造器

 重载:

范围: 在一个类中

定义: 在一个类中相同的方法名,不同的参数列表(参数的个数或类型),与返回值类型无关,与static修饰无关

决定调用哪个重载的方法,是由参数的个数来决定的。

重载也叫做编译时多态,编译期间  .java-->.class 文件的时候,编译期间

作用:同一个方法名,不同的实现结果。

几个例子:

这个只是声明的对象名字一样,new开辟了新地址,在栈内存地址不一样。

 

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 

几个例子:

 

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

 

。。。。。。。。。。。。。。。。。。。。。。。。。。

==比较的是地址  equals比较的是值

 

JVM是java内存模型:

静态全局内存空间,堆内存存放的是全局实例变量

s1.a是改变了s1堆内存里的值,s2.b是改变了静态全局变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值