小工具知识网

当前位置: 首页 > 行业知识 > 【类与对象JAVA(详)】(一)

行业知识

【类与对象JAVA(详)】(一)

2026-10-25 11:37:43 来源:互联网转载

个人主页 : @赶路人- -

个人格言 :

要努力成为梧桐,让喜鹊在这里栖息。

要努力成为大海,让百川在这里聚积。

5.line,n.(数据,程序)行,线路 [laɪn] 6.if,conj.如果 [ɪf]

1.类与对象的初步认知

!:如果您是已经学过java语言或者学过其他OOP(面向对象语言)可以跳过第1点,从第2点 类和类的实例化开始。

面向对象概念

  1. 面向对象是思考问题的一种思考方式,是一种思想。比如:概念与实例。理论与实践。名和实等等。
  2. 类就是一类对象的统称。对象就是这一类具体化的一个实例。
  3. 面向对象的好处:将复杂的事情变简单了,只要面对一个对象就行

面向对象设计

面向对象设计把握一个重要的经验:谁拥有数据,谁对外提供操作这些数据(私有)的方法! (被动的一方是数据的拥有者,主动的一方是执行者)

开发时:找对象,建对象,用对象,并维护对象之间的关系。

简而言之:

面向对象就是用代码(类)来描述客观世界的事物的一种方式. 一个类主要包含一个事物的属性和行为

2.类和类的实例化

基本语法:

//创建类class {field;//成员属性method;//成员方法}//实例化对象 = new ();

class为定义类的关键字,ClassName为类的名字,{}中为类的主体。

类中的元素称为:成员属性(成员变量)。类中的函数称为:成员方法。

命名规范: 类名一般采用大驼峰,变量名、方法名采用小驼峰。

示例:

class Person {public int age;//成员属性 实例变量public String name;public String sex;public void eat() {//成员方法System.out.println("吃饭!");}public void sleep() {System.out.println("睡觉!");}}

类的实例化

用类类型创建对象的过程,称为类的实例化

public class Main{public static void main(String[] args) {Person person = new Person();//通过new实例化对象person.eat();//成员方法调用需要通过对象的引用调用person.sleep();//产生对象 实例化对象Person person2 = new Person();Person person3 = new Person();}}

输出结果:

吃饭!

睡觉!

!

  1. new 关键字用于创建一个对象的实例.
  2. 使用 . 来访问对象中的属性和方法.
  3. 同一个类可以创建对个实例

3.类的成员

类的成员可以包含以下:字段、方法、代码块、内部类和接口等。

此处我们重点介绍前三个.

3.1字段/属性/成员变量

在类中, 但是方法外部定义的变量. 这样的变量我们称为 “字段” 或 “属性” 或 “成员变量”(三种称呼都可以, 一般不会严格区分).

用于描述一个类中包含哪些数据

示例:

class Person {public String name; // 字段public int age;}class Test {public static void main(String[] args) {Person person = new Person();System.out.println(person.name);System.out.println(person.age);}}// 执行结果null0

!

  • 使用.访问对象的字段
  • “访问”包括了读和写。
  • 对于一个对象的字段如果没有显示设置的初始值,那么会被设置一个默认的初值。

    默认值规则

    • 各种数字类型, 默认值为 0.
    • 对于 boolean 类型, 默认值为 false.
    • 对于引用类型(String, Array, 以及自定制类), 默认值为 null

      字段就地初始化

      不希望字段使用默认值, 而是需要我们显式设定初值. 可以这样写:

      class Person {public String name = "赶路人";public int age = 18;}class Test {public static void main(String[] args) {Person person = new Person();System.out.println(person.name);System.out.println(person.age);}}

      执行结果

      赶路人

      18

      3.2成员方法

      用于描述一个对象的行为.

      class Person {public int age = 18;public String name = "张三";public void show() {System.out.println("我叫" + name + ", 今年" + age + "岁");}}class Test {public static void main(String[] args) {Person person = new Person();person.show();}}

      执行结果

      我叫张三, 今年18岁

      此处的 show 方法, 表示 Person 这个对象具有一个 “展示自我” 的行为.

      这样的 show 方法是和 person实例相关联的. 如果创建了其他实例, 那么 show 的行为就会发生变化

      Person person2 = new Person();person2.name = "李四";person2.age = 20;person2.show()

      输出结果

      我叫李四, 今年20岁

      方法中还有一种特殊的方法称为 构造方法 (construction method)

      在实例化对象的时候会被自动调用到的方法, 方法名字和类名相同, 用于对象的初始化.

      虽然我们前面已经能将属性就地初始化, 但是有些时候可能需要进行一些更复杂的初始化逻辑, 那么就可以使用构造方

      法.

      3.3总结

      !

      class Person {public int age;//实例变量 存放在对象内public String name;//实例变量public String sex;//实例变量public static int count;//类变量也叫静态变量,编译时已经产生,属于类本身,且只有一份。存放在方法区public final int SIZE = 10;//被final修饰的叫常量,也属于对象。 被final修饰,后续不可更改public static final int COUNT = 99;//静态的常量,属于类本身,只有一份 被final修饰,后续不可更改//实例成员函数public void eat() {int a = 10;//局部变量System.out.println("eat()!");}//实例成员函数public void sleep() {System.out.println("sleep()!");}//静态成员函数public static void staticTest(){//不能访问非静态成员//sex = "man"; errorSystem.out.println("StaticTest()");}}public class Main{public static void main(String[] args) {//产生对象 实例化对象Person person = new Person();//person为对象的引用System.out.println(person.age);//默认值为0System.out.println(person.name);//默认值为null//System.out.println(person.count);//会有警告!//正确访问方式:System.out.println(Person.count);//《类名.》访问System.out.println(Person.COUNT);Person.staticTest();//总结:所有被static所修饰的方法或者属性,全部不依赖于对象。person.eat();person.sleep();}}

      输出结果:

      0

      null

      0

      99

      StaticTest()

      eat()!

      sleep()!

      数据属性的内存布局:

上一篇:那个学校毕业的?

下一篇:Win10系统无法启动的终极解决指南