类和对象 痛定思痛。 2022-05-15 14:22 202阅读 0赞 类是客观存在的事物,类是确定对象会拥有的特征(属性)和行为(方法),它不是具体客观存在的东西。 由此我们可以总结一下类的特点: 1、类是对象的类型。 2、类是具有相同属性和方法的一组对象集合(一个类可对应多个对象)。 class Stack { private int top; private int[] elem; } public class TestDemo { public static void main(String[] args) { Stack stack = new Stack(); } } 如上图,Stack为类,如果想要调用类中的方法,就要实例化一个Stack类的对象出来,上图代码中对象为stack ## 对象的初始化方式 ## **对象的创建要分为两步** 1.为对象分配内存 2.调用合适的构造函数 **对象的初始化顺序** 静态块初始化 (只初始化一次) 实例代码块初始化 构造函数初始化 #### 1.提供一系列get,set方法 #### class Stack { private int top; private int elem; public void setTop(int top){ this.top = top; } public int getTop() { return this.top; } public void setElem(int elem){ this.elem = elem; } public int getElem() { return this.elem; } } #### 2.通过合适的构造函数进行初始化 #### class Person { private int age; private String name; private String sex; public Person() { //方法名相同,参数不同,称为重载函数 this.name = "Allen"; this.sex = "man"; this.age = 20; } public Person(String name, String sex) { this.sex = sex; this.name = name; } public Person(String name, String sex, int age) { this.age = age; this.sex = sex; this.name = name; } } #### 3.静态块初始化,实例块初始化 #### class Person1 { private int age; private String name; private String sex; private static int count; //实例块初始化 { this.name = "Allen"; this.sex = "man"; this.age = 20; } //静态块初始化 static { //static所修饰的方法或者数据成员不依赖于对象 count = 10; } } ## 内部类 ## #### 静态内部类 #### class OutClass { private int data1; static class InClass { public int data; OutClass out; public InClass(OutClass out) { this.out = out; } public void test2() { System.out.println(data); System.out.println(out.data1); } } } public class TestDemo { public static void main(String[] args) { OutClass outClass = new OutClass(); OutClass.InClass inClass = new OutClass.InClass(outClass); inClass.test2(); } } 在上面的代码中,data1为外部类的非静态数据成员,需要通过外部类对象访问外部类的非静态数据成员 在内部类中OutClass out为外部类对象,通过out对象访问data1 静态内部类不拥有外部类对象 静态内部类实例化对象语法: 外部类名.内部类名 内部类对象 = new 外部类名.内部类名(外部类对象) #### 实例内部类 #### class OutClass { public int data1; private int data2; private static int data3; public OutClass() { data1 = 111; data2 = 222; data3 = 333; } class InClass { private int data4 = 666; public int data5 = 999; private static final int DATA = 1000; public void test() { System.out.println(data1);///111 System.out.println(data2);///222 System.out.println(this.data4);///666 System.out.println(OutClass.this.data3);//333 } } } public class TestDemo { public static void main(String[] args) { OutClass outClass = new OutClass(); OutClass.InClass inClass = outClass.new InClass(); inClass.test(); } } 实例内部类是否有额外的开销?(有) 此问题即有外部类对象访问内部类数据成员,所以有额外开销 实例内部类是否拥有外部类对象? (拥有 ) 可以通过外部类.this访问,即可以通过外部类对象访问内部类数据成员,所以拥有外部类对象 实例内部类当中是否可以有静态数据成员? 可以有,但是只能是在编译期间确定的值,被final所修饰 实例内部类对象语法: 外部类名.内部类名 内部类对象 = 外部类对象.new 内部类(); #### 匿名内部类 #### 第一种方法 class OutClass { } public class TestDemo { public static void main(String[] args) { new OutClass() { public void sayHello() { System.out.println("hello"); } }.sayHello(); } } 第二种方法 class OutClass { public void sayHello() { System.out.println("hello"); } } public class TestDemo { public static void test(OutClass out) { out.sayHello(); } public static void main(String[] args) { test(new OutClass()); } }
相关 类和对象 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ub Myth丶恋晨/ 2023年03月12日 09:23/ 0 赞/ 31 阅读
相关 类和对象 类 概述: java是一门面向对象的编程思想的语言,java就是使用这种思想,类就是java中对面向对象思想使用的一种表现形式。 java中用来对事物的特征和行为 心已赠人/ 2022年12月28日 06:15/ 0 赞/ 20 阅读
相关 类和对象 1.什么是类? 类是用用户定义的类型的定义。类声明了数据如何储存(数据类型)、用来访问和操作这些数据的方法(类方法或类成员函数)。 class classNam 谁践踏了优雅/ 2022年06月08日 03:52/ 0 赞/ 202 阅读
相关 类和对象 类和对象是Java语言的重要概念,如何理解它们和应用它们,也是OOD和OOP的关键。 打个比方,若说类是图纸,那么对象就是按着图纸构造出来一个个实体;若说类是模型,那么对象 太过爱你忘了你带给我的痛/ 2022年06月04日 10:18/ 0 赞/ 444 阅读
相关 类和对象 类是一个抽象的个体,里面有它的属性和方法,属性是它具有的特征,方法是它能实现怎样的功能。而类所创建出来的方法也是一种对象。 方法里面有权限修饰符、返回值、方法名、参数列表和 淡淡的烟草味﹌/ 2022年06月01日 07:16/ 0 赞/ 194 阅读
相关 类和对象 类和对象的区别 类 类是一个抽象的概念,类不存在与现实生活中,它只是为一些对象定义了抽象的属性和行为;没有为类创建任何对象时,类本身是不会存在于内存中的; 对象 「爱情、让人受尽委屈。」/ 2022年05月29日 12:52/ 0 赞/ 200 阅读
相关 类和对象 类是客观存在的事物,类是确定对象会拥有的特征(属性)和行为(方法),它不是具体客观存在的东西。 由此我们可以总结一下类的特点: 1、类是对象的类型。 2、类是具有相同属 痛定思痛。/ 2022年05月15日 14:22/ 0 赞/ 203 阅读
相关 类和对象 本章目标 类和对象概念 理解封装 this关键字 Static关键字 类的概念 类在生活中就是一个类别的统称 ![在这里插入图片描述][ 野性酷女/ 2022年05月09日 10:28/ 0 赞/ 244 阅读
相关 类和对象 类概念的引出 通过之前的学习我们知道计算机表示数据可以使用八大基本数据类型,但是如何表示现实世界的一个人,一只猫,一条狗呢?计算机又如何模拟现实世界的一些事物呢? 如果 比眉伴天荒/ 2022年03月26日 14:08/ 0 赞/ 252 阅读
相关 类和对象! 啥是类?啥又是对象? 在Java中类和对象可以说是我们经常会用到的了,类也就是我们的class,对象则是object,有的时候也叫做实例,英文是instance,那这俩有啥关 港控/mmm°/ 2021年09月08日 11:30/ 0 赞/ 587 阅读
还没有评论,来说两句吧...