Java学习笔记(5):1.类和对象
来源:互联网 发布:管理顾客的软件 编辑:程序博客网 时间:2024/04/28 16:56
1. 定义类
Java是面向对象的程序设计语言,类是面向对象的重要内容,我们可以把类当成一种自定义数据类型,可以使用类来定义变量,这种类型的变量统称引用变量。也就是说所有类是引用数据类型。
面向对象的程序设计过程中有两个重要的概念:类(class)和对象(object,也被称为实例,instance),其中类是某一批对象的抽象,可以把类理解成某种概念;对象才是一个具体存在的实体。这就好像动物是一个类,猫猫狗狗是动物的一些对象。
Java语言定义类的简单语法如下:
[修饰符] class 类名{
零到多个构造器定义…
零到多个field…
领导多个方法…
}
定义field的语法格式如下:
[修饰符] Field 类型 Field 名 [=默认值];
Field语法格式的详细说明如下:
>修饰符:修饰符可以省略,也可以是public、protected、private、static、final,其中public、protected、private三个最多只能出现其中之一,可以与static、final组合起来修饰Field。
>Field类型:Field类型可以是Java语言允许的任何数据类型,包括基本数据类型和现在介绍的引用类型。
>Field名:Field名只要是一个合法的标识符即可,但这只是从语法的角度上来说,如果从程序可读性的角度来看,Field名应该由一个或多个有意义的单词连缀而成,第一个单词首字母小写,后面每个单词首字母大写,其余字母全部小写,单词与单词之间不要有任何分隔符。
>默认值:定义Field还可以指定一个可选的默认值。
定义方法的语法格式如下:
[修饰符] 方法返回值类型方法名(形参列表){
//零条到多条可执行性语句组成的方法体
}
>修饰符:修饰符可以省略,也可以是public、protected、private、static、final、abstract,其中public、protected、private三个最多只能出现其中之一,abstract和static最多只能出现其中之一,可以与final组合起来修饰Field。
>方法返回值类型:返回值类型可以是Java语言允许的任何数据类型,包括基本类型和引用类型;如果声明了方法返回值类型,则方法体内必须有一个有效的return语句,该语句返回一个变量或一个表达式,这个变量或者表达式的类型必须与此处声明的类型匹配。除此之外,如果一个方法没有返回值,则必须用void来声明没有返回值。
>方法名:方法名的命名规则与Field命名规则基本相同,但通常建议方法名以英文中的动词开头。
>形参列表:形参列表用于定义该方法可以接受的参数,形参列表由零组到多组“参数类型 形参名”组合而成,多组参数之间以英文逗号(,)隔开,形参类型和形参名之间以英文空格隔开。一旦在定义方法时指定了形参列表,则调用方法时必须传入对应的参数值——谁调用方法,谁负责为形参赋值。
定义构造器的语法格式如下:
[修饰符] 构造器名(形参列表){
//零条到多条可执行性语句组成的构造器执行体
}
>修饰符:修饰符可以省略,也可以是public、protect、private其中之一。
>构造器名:构造器名必须与类名相同。
>形参列表:和定义方法形参列表的格式完全相同。
下面程序将定义一个Person类。
public class Person { public String name; public int age; public void say(String content){ System.out.println(content); }}
2. 对象的产生和使用
创建对象的根本途径是构造器,通过new关键字来调用某个类的构造器即可创建这个类的实例。
//定义一个Person类型的变量Person p;//通过new关键字调用Person类的构造器,返回一个Person实例//将Person实例赋给p变量p = new Person();/**上面代码也可以简写成如下形式*定义p变量的同时并为p变量赋值*Person p = new Person();*/
如果访问权限允许,类里定义的方法和Field都可以通过类或实例来调用。类或实例访问方法或Field的语法是:
类.Field|方法,或者实例.Field|方法
必须注意的是,static修饰的方法和Field,既可以通过类来调用,也可以通过实例来调用,而没有使用static修饰的普通方法和Field,只能通过实例来调用。
//调用p的name Field,直接为该Field赋值p.name = "June";//调用p的say方法,声明p方法时定义了一个形参//调用该方法时必须为形参指定一个值p.say("Java语言很简单,学习很容易!");//直接输出p的name Field的值,将输出JuneSystem.out.println(p.name);
3.对象、引用和指针
不管是数组还是对象,当程序访问引用变量的Field或方法时,实际上是访问该引用变量所引用的数组、对象(实例)的Field或方法。从这角度上来看与C语言的指针很像,它们都是储存一个地址值,通过这个地址值引用到实际对象(实例)。
- Java学习笔记(5):1.类和对象
- JAVA学习笔记(5)对象和类(上)
- JAVA学习笔记(5)对象和类(下)
- 类和对象学习笔记CarDemo.java
- Java学习笔记 ---对象和类
- Java学习笔记--类和对象
- Java学习笔记_004_类和对象
- 【Java学习笔记】06.类和对象
- java学习笔记2类和对象
- JAVA学习笔记03类和对象
- Java学习笔记(三)类和对象
- Java学习笔记(二)——类和对象
- JAVA学习笔记(1):类和对象是什么
- Java学习笔记(三)——类和对象
- JAVA学习笔记(12)--类和对象 详解(一)
- Swift 学习笔记 5-对象和类
- java核心技术学习笔记6---对象和类
- JAVA学习笔记——第七章 类和对象
- Hibernate错误之org.hibernate.HibernateException : 'hibernate.dialect' must be set when no Conne
- 下面程序的功能是在屏幕上显示图形:
- 使用ScheduledExecutorService周期性的定时任务
- 前端开发入门:前端开发基础成长指南
- ViBE算法分析
- Java学习笔记(5):1.类和对象
- K-means算法
- jsp程序设计-Tag文件与Tag标记用法详解
- 类封装成dll
- leetcode -- Restore IP Addresses -- 重点,dfs
- VLfeat教程Quick shift
- IOS面试算法题(1)——N阶乘最后总位数的问题
- 正则表达式学习笔记一
- UIControl