首页 > 编程语言 >Java类与对象

Java类与对象

时间:2023-02-06 22:12:43浏览次数:37  
标签:部类 Java 内部 构造方法 对象 int 实例 static

  一、类

1、概念

类:是数据和对数据进行处理的方法的集合体

对象:类的实例,任何事物都可以是对象

2、定义

基本格式:[类修饰符] class <名称> { 变量定义和方法定义 }

类的成员变量:[ 修饰符]<类型><变量名>=[值] ;public int a=3;

类的成员方法:[修饰符]<返回类型><方法名>(形式参数){方法} ; public int area(int a,int b){return a*b;}

3、方法

 参数传递:方法中所有类型的参数传递都是“值传递”

递归:自身调用自身或间接调用自身

方法重载:方法名字相同但参数不同,方法的参数个数,参数类型,参数排列顺序不同,都会构成重载(返回值类型要相同);int a(int x)、int a(int x,int y)、int a(int x,double y)

调用重载方法:若只有f(short),f(float),当用f(byte)时,因byte可宽转换为short,而short可变float,float不可以宽转换为short,所以调用的是f(short)。当调用f(null),因空引用可自动转换为int【】,也可自动转换为Object,但int【】是Object类型,而Object不一定是int【】。

二、创建对象

1、构造方法

语法规则:方法名与类名相同,不要有返回类型,不能被static、final、synchronized、abstract、native修饰

过程:在创建一个类的对象时,首先用new分配空间,然后自动调用某个构造方法,对该对象进行初始化,给实例变量一个合适的初值。

注意:不管变量定义位于方法之后还是之前,在方法被调用前就得到了初始化

2、默认构造方法

Java规定,每个类都必须至少定义一个构造方法,如果没有定义构造方法,编译程序会自动生成一个默认构造方法。建议 每个类都有一个默认构造方法即无参数的构造方法

 

三、this引用

this:表示对象自身的引用值。当不在混淆的情况下,this.可以省略;在static方法中是不能使用this的

格式:this(参数列表);若想在有多个构造方法的类中的一个构造方法中调用另一个构造方法,可用this,而且这条语句必须在构造方法中处于第一条语句。

四、静态成员

1、静态变量

静态变量:被static修饰,可通过类名来访问静态变量

实例变量:没有被static修饰,实例变量可以在内存中有多个备份

2、静态方法

引用:通过类名 或 通过实例对象来引用

注意:在静态方法中可以直接访问类中其他静态的成员,不能直接访问类中的非静态成员;静态方法中不能以任何方式引用this、super;子类只能继承、重载、隐藏父类静态成员,不能重写父类的静态方法,或修改父类的非静态成员为静态成员

3、main()

注意:必须是public static void(String [ ]args)

4、静态代码块

注意:每个静态代码块只会被执行一次,顺序是:按照static成员变量和static代码块在类中定义的先后顺序来依次执行,之后调用main函数。

五、内部类

定义:在一个类内部定义的类。相应的有内部类的类叫外部类,外部类只能处于public或默认访问级别

1、实例内部类

注意:创建实例内部类对象时,外部类的实例必须已经存在;在实例内部类中,实例内部类的实例可通过“外部类名字.this“;在外部类中不能直接访问内部类的变量或方法,必须通过内部类的实例去访问;外部类实例与内部类实例是一对多的关系;内部类中不能有静态成员;如果内部类与外部类中有重名的变量,则this.表示的是内部的,外部类名.this.表示的是外部类的;在内部类中访问外部类成员,都需要用外部类名.this变量。

2、匿名内部类(没有类名)

注意:匿名内部类必须继承一个父类或接一个接口,但最多实现一个接口;匿名内部类无法定义构造方法,只有自动生成的默认构造方法;可在它里面定义实例变量,实例初始化代码块和新的实例方法,首先调用父类的构造方法;被匿名内部类访问的局部变量要被final修饰,Java会自动修饰。

格式:在new<外部类类名>{匿名内部类类体};这个匿名内部类就是继承外部类。

3、static内部类

定义:在定义内部类时,加static修饰

static内部类的作用:进行访问权限的控制;能访问外部类中的static型成员,对于非static型成员,先创建外部类的实例对象,通过对象间接访问

4、局部内部类

定义:在一个方法体、构造器或初始化块中定义一个类

注意:它们不能被定义为static;它们可以访问外部类的成员,但是对于方法中的形参或局部变量,只有被final修饰,才可以访问。

 

标签:部类,Java,内部,构造方法,对象,int,实例,static
From: https://www.cnblogs.com/2-3-7/p/17090717.html

相关文章

  • springboot:java实现邮件及附件发送、HTML正文的三种方式(一)【附带源码】
    0.引言邮件发送是我们日常开发中比较常见的功能,常用于预警信息提醒、统计数据定期发送等需求。一般该方法会由前人封装好,实际开发时只需要调用即可,但具体怎么实现的,如何从......
  • springboot:java实现邮件及附件发送、HTML正文的三种方式(三)【附带源码】
    0.引言邮件发送是我们日常开发中比较常见的功能,常用于预警信息提醒、统计数据定期发送等需求。一般该方法会由前人封装好,实际开发时只需要调用即可,但具体怎么实现的,如何从......
  • javaScript - 预解析
    代码实例:console.log(data1)//undefinedvardata1=12;fn1();//executefunctionfn1functionfn1(){console.log("executefunctionfn1")}fn2();//fn2is......
  • javaScript - 函数,函数的定义与函数的特性,函数的内置对象
    1.函数的定义//方式1无参无返回值函数functionclose(){}//方式2有参有返回值函数functionset(id,name){returnid+name;}//方式3匿名函数varcallback=......
  • 对象和类之间的区别
    对象是类的一个实例。类是创建对象的蓝图或模板。对象是真实世界的实体,如笔,笔记本电脑,手机,床,键盘,鼠标,椅子等。类是一组类似的对象。对象是一个物理实体。......
  • Java数组
    通常,数组是具有连续内存位置的类似类型的元素的集合。Java数组是一个包含类似数据类型的元素的对象。它是一个数据结构,我们存储类似的元素。只能在java数组中存储固定的......
  • Error:java: Compilation failed: internal java compiler error 解决办法
    错误现象使用Idea导入新项目或升级idea或新建项目时会出现以下异常信息:Error:java:Compilationfailed:internaljavacompilererror错误原因导致这个错误的原因主要......
  • 第6章:面向对象编程(下)
    第6章:面向对象编程(下)1、关键字:static1.1引入当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生对象,这时,系统才......
  • Java包装类
    java中的包装类提供了将原始数据类型转换为对象,以及将对象转换为原始数据类型的机制。自J2SE5.0以来,自动装箱和取消装箱功能将原始对象和对象自动转换为原始数据类型。......
  • Java按值调用和引用调用
    在java中只有通过值调用,而不是通过引用调用。如果要调用一个传递值的方法,则称为按值调用。在被调用方法中完成的更改,在调用方法的外部不受影响。在java中通过值调用的......