

class为定义类的关键字,Food为类的名字,{}为类的主体。
类中包含的内容为类的成员,属性主要是来描述类的,称为类的成员属性或成员变量
方法主要说明类具有哪些功能,称为类的成员方法。
public。main方法所在的类一般要使用public修饰(注意:Eclipse默认会在public修饰的类中找main方法)public修饰的类必须要和文件名同名。//创建类
class Food{
String fish;//成员变量/字段(属性)
//..可以有多个成员变量
//成员方法/行为
public void eat(){
system.out.println("吃鱼");
}
//...可以有多个成员方法
}

- 定义一个类,就相当于定义了一种全新的类型,与
int、double等类似,只不过这些是属于内置类型,有了这些自定义类型之后,就可以像使用内置类型一样来定义变量。用这些自定义类来定义实例(或成为对象)- 用类的类型创建对象的过程,称为类的实例化。
- 实例化出的对象才能实际存储数据,占用物理空间。
Java采用new关键字,来用类名实例化对象。.new关键字用于创建一个对象的实例。- 使用
.来访问对象中的属性和方法。- 同一个类可以创建多个实例。(就像用
int创建多个变量一样。)

this引用是指当前对象(成员方法运行时调用该成员方法的对象),在成员方法中所有的成员变量的操作。
this的类型:对引用类类型引用,即哪个对象调用就是哪个对象的引用类型。this只能在“成员方法”中使用。this只能引用当前调用该成员方法的对象,不能再引用其他对象。this是“成员方法”第一个隐藏的参数,编译器会自动传递,在成员方法执行时,编译器会负责将调用“成员方法”对象的引用传递给该成员方法,this负责接收。
this引用的是调用成员方法的对象。

void也不行。public修饰。
构造方法汇总,可以通过
this来调用其他构造方式简化代码。
this(),必须是在构造方法中第一条语句,否则编译报错。this(传参);this 不能形成循环。(即调过去调回来,形成死循环)
在声明成员变量时,就直接给出了初始值。

类中的成员变量,不赋初始值,编译器会默认给一个值。(成员变量不赋值,照样能够使用,通过编译,不报错。局部变量使用前必须赋值,否则编译失败)


new关键字所发生的一些不为人知的秘密:
JVM层面则需要做很多事情:检测对象对应的类是否加载了,如果内衣加载则自动加载。
为对象分配内存空间
处理并发问题
- 比如:多个线程同时申请对象,JVM要保证给对象分配的空间不冲突
初始化所分配的空间:即默认值:

调用构造方法,给对象中各个成员赋值。
Java中主要通过类和访问权限来实现封装:类可以将数据以及封装数据的方法结合在一起,而访问权限用来控制方法或者字段(成员属性)能否直接在类外使用。

private,成员方法设置为public。
成员变量被
private修饰变成私有的,如果在类外要访问,则需要提供外部访问权限的方法。

概念:
- 为了更好的管理类,把多个类收集在一起成为一组,成为软件包 。
- 包是对类、接口等的封装机制的体现,是一种对类或者接口等很好的组织方式。
- 在不同的包中,同一个工程里允许存在相同名称的类。
import语句导入包。(不能指定包导入,必须加上导入类名)import java.util.*使用此包中所有的类。java.util:是Java提供的工具程序包。(集合类等)
import static导入包中静态的方法和字段。
在文件的最上方加上package语句指定该代码在哪个包中。
包名需要尽量指定成唯一的名字,同城会按公司的域名的颠倒形式(例如:com.baidu.demo1)。
包名要和代码路径匹配,例如创建com.baidu.demo1的包,那么会存在一个对应的路径com/baidu/denmo1来存储代码。

如果一个类没有package语句,则该类被放到一个默认包中。(即:src)
概念:
static是静态的意思,可以用来修饰成员变量、成员方法- 修饰成员变量之后称为静态成员变量(类变量),修饰方法之后称为静态方法(类方法)。
- 修饰后的成员变量,可以被类的所以对象共享(访问、修改)。
static修饰的成员变量,称为静态成员变量,静态成员变量最大的特性:不属于某个具体的对象,是所有对象所共享的。

被
static修饰的成员方法为静态成员方法,是类的方法,不是某个对象所特有的。
静态成员一般通过静态方法来访问。
.静态方法名(…)方法调用,更推荐后者。
this参数,静态方法中调用时候无法传递this引用。
概念: 使用
{}定义的一段代码称为代码块。
定义在方法中的代码块:

构造块(实例代码块):定义在类中的代码块(不加修饰符)。构造代码块一般用于初始化实例成员变量。

使用
static定义的代码块称为静态代码块。一般用于初始化静态成员变量。

1. 静态代码块最先执行;
2. 实例代码块其次执行;
3. 最后执行构造方法。
记得三连喔~ 👍👍🏻👍🏿