MichaelBlog

double i = Double.MAX_VALUE; while(i == i + 1){ System.out.print ("学无止境");};

导航

Java:对象和类

类Class

✨类为对象定义属性和行为。
面向对象程序设计(Object Oriented Programming,OOP)
对象(Object):代表现实世界中可以明确标识的一个实体。一块石头,一颗树。

对象的 属性attribute,状态state,特征property用数据域来表示

int rock = 1;

对象的 行为hehavior,动作action 用方法来定义

getRockNum();

而类(Class)定义同一类型的对象,一个对象是一个类的实例。类是一个模板,通过模板我们可以创建多个对象。

创建实例的过程称之为实例化(instantiation) Object和Instance是可以转换的。
🎈Java类使用变量定义数据域,使用方法定义动作。
类中还有构造方法(constructor),设计它是为了完成初始化动作。构造方法参考

静态变量

✨静态变量被类中的所有对象所共享。静态方法不能访问类中的实例成员。

当你想让一个类的所有实例共享数据,就需要使用 静态变量(static variable) ,类变量(class varia)。使用的时候在变量或者方法前加上static修饰符。

static int numberOfObjects;

static int getNumberObjects(){
	return numberOfObjects;
}

final 常量

对象共享类中常量应该声明为 final static

final static double PI = 3.1415926;

由于静态方法并不属于某个特定对象,所有静态方法不能调用实例方法和实例数据源。

可见性修饰符

✨可见性修饰符用于确定一个类以及它的成员的可见性。

public 可以用在类和类的成员上
private 只能在自己的类中访问,并且只能用在类的成员上。
protect 在包内和派生类中可用 比默认default package权限大一点。

🎈在局部变量上使用public 和 private 都会导致编译错误。

数据域封装

数据域设置为私有保护数据,并且使类易于维护。

使用private 将数据域声明成私有后,为了能够更新数据,可以创建访问器(accessor)get方法
给数据域设置新值,使用set方法的修改器(mutator)

不可变类(immutable class)和对象(immutable object)

满足三个条件:

  1. 所有数据域都是私有的
  2. 没有getset方法
  3. 没有返回值指向可变数据域的引用

装箱拆箱

基本类型和包装类型之间的自动转换

将基本类型转换为包装类对象的过程称为装箱boxing
将包装类型转换为基本类型的过程称为拆箱unboxing

Integer intObject  =  new  integer(2);//用户手动
Integer intObject = 2;//自动装箱

posted on 2022-04-16 09:48  Michael_chemic  阅读(30)  评论(0编辑  收藏  举报