一、类

1、Java语言把一组对象中相同属性和方法抽象到一个Java源文件就形成了类。

  一个java文件可以有多个类,但是每一个类都会生成一个class字节码文件。 如果class 前加public ,则文件名需和类名保持一致。

2、定义一个类的步骤:

  (1)定义类名;(2)定义类的属性;(3)定义类的方法

3、(1)类是创建对象的模板,确定对象将会拥有的属性和方法。

(2)类是对象的抽象化;对象是类的具体化。

   (3)类是一种数据类型,是对象的数据类型(不同于int等基本类型:类具有方法)

4、类名的命名规则: 符合标识符命名规范; 类名必须使用英文字母,首字母应大写,如Hello、People等。

   当类名由多个”单词”组合而成时,每个单词的首字母都要大写。如 Time、Game、Dog、DateUtil等。

5、类的加载过程

一个对象的创建,需要先加载类文件。

  (1)加载类文件
  (2)将静态变量(类变量)分配内存,同时将静态方法(类方法)分配执行入口,然后执行静态代码块。
  (3)类加载完毕,实例化过程中先将成员变量初始化,如果当前类第一次被实例化,成员方法将被分配执行入口
  (4)执行非静态代码块
  (5)然后执行构造方法内的代码。

  在参考资料时,有看到一个更简洁的叙述(非原创):

  属性、方法、构造方法和自由块都是类中的成员,在创建类的对象时,类中各成员的执行顺序:

  1.父类静态成员和静态初始化快,按在代码中出现的顺序依次执行。

  2.子类静态成员和静态初始化块,按在代码中出现的顺序依次执行。

  3. 父类的实例成员和实例初始化块,按在代码中出现的顺序依次执行。

  4.执行父类的构造方法。

  5.子类实例成员和实例初始化块,按在代码中出现的顺序依次执行。

  6.执行子类的构造方法。

  最后,生成对象由main线程调用

  再强调一遍:父静态->子静态->父变量->父初始化区->父构造–>子变量->子初始化区->子构造

                                              】

二、对象

1、Java语言中的对象是对现实世界中对象的模拟,现实中的对象存在于现实生活中,Java语言中的对象存在于计算机内存中。

  Java语言中的对象又称为实例。

2、Java中将现实对象中的信息称为属性(也叫全局变量),将现实对象中的功能称为方法。

3、通过new关键字创建对象,创建对象又称实例化对象。 Student student = new Student();

    使用”.”运算符访问对象的属性和方法。 student.属性 = 值; student.方法名();

三、方法

格式:

访问控制符 [修饰符] 返回值类型 方法名( [参数] ) { //方法体 }

1、访问控制符分为四种:public、protected、友好的和private

2、static修饰符用于限制方法的调用方式:

  (1)static修饰的方法可以直接使用类名调用也可以使用类创建的对象调用

  (2)非static修饰的方法只能使用类创建的对象调用。

java——类、对象、方法的更多相关文章

  1. 规则引擎集成接口(九)Java类对象

    Java类对象 右键点击“对象库” —“添加java类对象”,如下图: 弹出窗体,在文本框中输入类的全名“com.flagleader.test.Test”,选择该类型后确定,如下: 显示如下,勾选上 ...

  2. JAVA类的创建: 创建JAVA的类 ,JAVA的字段,JAVA类的方法

    1. 创建Java的类 如果说Java的一切都是对象,那么类型就是决定了某一类对象的外观与行为.可是类型的关键字不是type,而是class,创建一个新的类型要用下面的代码: 1 2 3 class ...

  3. oracle调用JAVA类的方法

    导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了,  1.操作系统需要拥有支持loadjava命令的jdk.  2.加 ...

  4. 如何在Mybatis的xml文件调用java类的方法

    在mybatis的映射xml文件调用java类的方法:使用的是OGNL表达式,表达式格式为:${@prefix@methodName(传递参数名称)} 1.如下代码所示:方法必须为静态方法:以下我只是 ...

  5. 全面了解python中的类,对象,方法,属性

    全面了解python中的类,对象,方法,属性 python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性( ...

  6. java类 对象 和构造方法

    github地址:https://github.com/lily1010/java_learn/tree/master/dog java中对象和类 java中万物皆对象,比如说动物,里面有猫,狗,鱼等 ...

  7. ResultSet转成java类对象

    在做web开发时遇到一个事情: 需要从mysql数据表中查询数据并遍历查询结果 这样最简单的方式是:查询到结果根据表中字段列表的顺序来一个个获取字段,但这样需要记住字段的顺序,操作起来不是那么方便.因 ...

  8. 转: JaxbContext生成xml文件或java类对象转化注解

    JAXB(Java API for XML Binding),提供了一个快速便捷的方式将Java对象与XML进行转换.在JAX-WS(Java的WebService规范之一)中,JDK1.6 自带的版 ...

  9. 存在继承关系的Java类对象之间的类型转换(一)

      类似于基本数据类型之间的强制类型转换. 存在继承关系的父类对象和子类对象之间也可以 在一定条件之下相互转换. 这种转换需要遵守以下原则: 1.子类对象可以被视为是其父类的一个对象2.父类对象不能被 ...

  10. Java中对象方法的调用过程&动态绑定(Dynamic Binding)

    Java面向对象的最重要的一个特点就是多态, 而多态当中涉及到了一个重要的机制是动态绑定(Dynamic binding). 之前只有一个大概的概念, 没有深入去了解动态绑定的机理, 直到很多公司都问 ...

随机推荐

  1. BZOJ 4259 残缺的字符串

    思路 同样是FFT进行字符串匹配 只不过两个都有通配符 匹配函数再乘一个\(A_i\)即可 代码 #include <cstdio> #include <algorithm> ...

  2. flask No such command "init-db".

    在Daily目录下,使用cmd窗口执行,不要使用IDE的命令行 set FLASK_APP=DLY set FLASK_ENV=development flask init_app

  3. windows服务器环境问题---api-ms-win-crt-runtimel1-1-0.dll缺失解决

    安装VC++库 地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145

  4. Python玩转Arduino——简单介绍

    关于Python语言的介绍安装请参考廖雪峰的Python教程 Python是一门解释型语言,虽然不能够像c语言一样编译上传到Arduino--什么你说MicroPython,我们再说Arduino呢- ...

  5. ArcGIS Pro开发Web3D应用(4)——Portal发布三维没有“发布”选项解决

    如题,将三维场景包.slpk上传并发布,未看到发布选项. 问题核心就在于环境没配置好,主要有2点: 1.验证联合托管状态 需要将托管服务器与Portal进行联合,并进行验证,此情况需要在WebAdap ...

  6. Go语言学习之11 日志收集系统kafka库实战

    本节主要内容: 1. 日志收集系统设计2. 日志客户端开发 1. 项目背景    a. 每个系统都有日志,当系统出现问题时,需要通过日志解决问题    b. 当系统机器比较少时,登陆到服务器上查看即可 ...

  7. YY的GCD

    YY的GCD 给出T个询问,询问\(\sum_{i=1}^N\sum_{j=1}^M(gcd(i,j)\in prime)\),T = 10000,N, M <= 10000000. 解 显然质 ...

  8. Django web框架-----Django连接本地现有mysql数据库

    第一步:win10下载mysql5.7压缩包配置安装mysql,创建数据库或导入数据库 第二步:win10搭建django2.1.7开发环境,创建项目为mytestsite,创建应用app为quick ...

  9. angular 引入ocLazyLoad实现js、controller懒加载

    项目之前是直接在index.html中引用了controller.js,其中包含了所有的controller.现引入ocLazyLoad实现按需加载,到指定页面再加载指定js.controller 1 ...

  10. Hadoop 2.7.4 HDFS+YRAN HA增加datanode和nodemanager

    当前集群 主机名称 IP地址 角色 统一安装目录 统一安装用户 sht-sgmhadoopnn-01 172.16.101.55 namenode,resourcemanager /usr/local ...