java 面向对象基础 类 成员变量和局部变量 成员方法
2016-04-22 11:14
731 查看
定义类
在Java语言中,类是基本的构成要素,是对象的模板,Java程序中所有的对象都是由类创建的。一个Java类主要包括以下两部分:
类的声明
类的主体
类的声明
在类声明中,需要定义类的名称、对该类的访问权限、该类与其他类的关系等。类声明的格式如下:[修饰符] class <类名> [extends 父类名] [implements 接口列表]{ }
[修饰符]用于指定类的访问权限,可选值为public、abstract和final。
类名用于指定类的名称,类名必须是合法的Java标识符。一般情况下,要求首字母大写。
[extends 父类]名用于指定要继承参数。
[implements 接口列表]用于指定该类实现的所有接口。
类体
类声明部分大括号中的内容为类体。类体主要由以下两部分构成:
(1)成员变量的定义;
(2)成员方法的定义。
成员变量和局部变量
在类体中所声明的变量称为类的成员变量,而在方法体中声明的变量和方法的参数则称为局部变量。
声明成员变量
Java用成员变量来表示类的状态和属性,声明成员变量的基本语法格式如下:[修饰符] [static] [final] <变量类型> <变量名>;
修饰符:可选参数,用于指定变量的被访问权限,可选值为public、protected和private。
static:可选,用于指定该成员变量为静态变量,可以直接通过类名访问。如果省略该关键字,则表示该成员变量为实例变量。
final:可选,用于指定该成员变量为取值不会改变的常量。
变量类型:必选:用于指定变量的数据类型,其值可以为Java中的任何一种数据类型。
变量名:必选,用于指定成员变量的名称,变量名必须是合法的Java标识符。
public class Apple {
public String color; //声明公共变量color
public static int count; //声明静态变量count
public final boolean MATURE=true; //声明常量MATURE并赋值
public static void main(String[] args) {
System.out.println(Apple.count);
Apple apple=new Apple();
System.out.println(apple.color);
System.out.println(apple.MATURE);
}
}
声明局部变量
定义局部变量的基本语法格式同定义成员变量类似,所不同的不能使用权限修是不和static关键字对局部变量进行修饰,但可以使用final关键字:[final] <变量类型> <变量名>;
final:可选,用于指定该局部变量为常量。
变量类型:必选,用于指定变量的数据类型,其值可以为Java中的任何一种数据类型。
变量名:必选,用于指定局部变量的名称,变量名必须是合法的Java标识符。
public void grow(){
final boolean STATE; //声明常量STATE
int age; //声明局部变量age
}
变量的有效范围
(1)成员变量:在类中声明,在整个类中有效。(2)局部变量:在方法内或方法内的复合代码块
public class Olympics {
private int medal_All=800; //成员变量
public void China(){
int medal_CN=100; //方法的局部变量
if(medal_CN<1000){ //代码块
int gold=50; //代码块的局部变量
medal_CN+=50; //允许访问
medal_All-=150; //允许访问
}
}
}
成员方法
Java中类的行为由类的成员方法来实现。类的成员方法由方法声明和方法体两部分组成。
其一般格式如下:
[修饰符] <方法返回值的类型> <方法名>(
[参数列表]) {
[方法体]
}
[修饰符]用于指定方法的访问权限,可选值为public、protected和private。
方法返回值的类型用于指定该方法的返回值的类型,如果该方法没有返回值,必须使用关键字void进行标识。方法返回值的类型可以是任何Java数据类型。
[参数列表]用于指定方法中所需的参数。当存在多个参数时,各参数之间应使用逗号分隔。方法的参数可以是任何Java数据类型。
注意事项
类体是由成员变量和成员方法组成。而对成员变量的操作只能放在方法中
public class A {
int a = 12; // 声明变量的时候同时赋予初始值
}
但是不能这样:
public class A {
int a ;
a = 12; // 这样是非法的,此操作只能出现在方法体中
}
相关文章推荐
- Java中中文拼音的排序问题
- struts--ActionInvocation--核心调度器
- javaweb学习总结(六)——Servlet开发(二)
- 解析JDK 7的动态类型语言支持
- Java进阶学习第九天——Servlet入门
- Java 编程要点之并发(Concurrency)详解
- 反转单向链表 (java 语言实现)
- spring自定义schema
- java和数据库之间的日期和时间转换
- Java学习笔记--迭代器
- 内存回收的角度,java堆细分
- java 引用数据类型
- java 创建数组
- Java中运用数组的四种排序方法
- maven搭建java ee项目图文教程
- javaAPI之Properties
- 二叉树的遍历问题-----Java实现(中序、前序、后序、遍历)
- Spring 简介
- Swagger与SpringMVC项目整合
- Java泛型深入理解