没有合适的资源?快使用搜索试试~ 我知道了~
首页Java编程:理解类与方法-面向对象基础
Java编程:理解类与方法-面向对象基础
0 下载量 107 浏览量
更新于2024-06-29
收藏 423KB PPTX 举报
Java语言程序设计专注于理解和应用“方法”这一核心概念。在编程中,类(CLASS)是程序设计的基本构建块,它是对现实世界中的实体或行为的一种抽象。类是对对象的模板,描述了对象的共同属性(数据成员)和行为(成员方法)。例如,“人”类可能包含属性如姓名、年龄和性别,以及方法如走路、说话等,这些方法定义了对象如何互动和执行任务。 在Java中,创建类的步骤包括定义类名(如"manclass"),并使用花括号包围数据成员(如整型变量size、style和factory)和成员方法(如open()、close()和enjoy())。这些方法表示对象的行为,每次对象调用它们就是在执行特定的操作。例如,TV类通过new关键字创建对象,并允许设置状态(如打开、关闭电视机)和调用相应的方法。 面向对象编程的一个关键特性是继承。通过继承,子类(如NEWTV)可以从父类(如TV)那里继承属性和方法,同时也可以添加新的特性和功能。这使得代码更具复用性和模块化,例如,NEWTV类可以在保持原有TV类功能的基础上,新增如定时开关和特殊功能。 类的定义在Java语法中采用class关键字,后跟类名,接着是大括号包含的数据成员(变量声明)和方法定义。数据成员定义了类的内部状态,而方法则是类的行为,它们共同构成类的主体。比如几何中的Point类,可能会定义成员变量(如x和y坐标)以及处理坐标操作的方法,如计算距离或移动。 总结来说,Java语言程序设计的核心围绕着类和方法,通过它们描述对象的属性和行为,实现代码的组织和扩展。理解类的概念、类的定义、继承以及类中的数据成员和方法,是编写高效、可维护的Java程序的基础。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/87005991/bgf.jpg)
6-4 类的成员变量
成员变量是包含在类的内部、方法定义的外部所定义的变量,其作用域是整
个类,也就是说同以类中的所有方法都可以对其进行访问,并可简单地通过
名字来引用,在方法体中定义的变量是方法变量,它的作用域仅仅只能在方
法体内。
例如: class Sampleclass{
public int i; //成员变量i
method(){
int j; //一个方法中的变量
}
}
成员变量定义的一般形式为:
[访问权限符] [static] [final] 类型 变量名
在定义变量时还要指定变量的属性,包括:变量的访问权限,变量是类变量还是实
例变量,变量是否为常数等。
第15页,共91页。
![](https://csdnimg.cn/release/download_crawler_static/87005991/bg10.jpg)
(1)public:该变量可以被任何包里的类访问。
(2)protected:该变量可以被该类及其子类、与该类在同以包中的类访问。
(3)private:该变量只能被该类的方法访问。
另外变量的修饰符主要有:
(1)static:它说明该变量是一个静态变量或者称为类变量,而一个静态变量由
该类的所有实例对象共享。在编译时,静态变量保存在为类声明的存储单元
中,同时我们访问静态变量时也无需事先初始化它所在的类。
(2)final:说明该变量是一个最终变量,即该变量在程序运行中不能改变,所以final必须带有
一个初始值。一般用来定义一个常量。
被static修饰的成员变量称为静态变量,它是类的成员变量,而不是任何一个类对象的成员
变量,这样任何一个类对象在访问它时都会获得相同的数值。
如果访问此成员变量时,需要通过类名加上点操作符和成员变量来访问。同时任
何一个类对象对类的成员变量进行修饰后,其他类的对象会得到修饰过的值,而
且所得数据是相同的。
第16页,共91页。
![](https://csdnimg.cn/release/download_crawler_static/87005991/bg11.jpg)
定义一个学生档案类,包括有学生姓名、性别和所在学校。
class Student{
String name;
String sex;
static String school="大庆某个大学"; //类变量
}
public class S6_5{
public static void main(String args[]){
Student my=new Student();
Student you=new Student();
my.name="陈明";
my.sex="男";
you.name="刘若英";
you.sex="女";
Student.school="大庆石油学院"; //对类的成员变量赋值。
System.out.println(my.name+" "+my.sex+" "+my.school);
System.out.println(you.name+" "+you.sex+" "+you.school);
}
}
第17页,共91页。
![](https://csdnimg.cn/release/download_crawler_static/87005991/bg12.jpg)
对上面程序的说明:
(1)如果要访问类变量,采用的形式为:或,本程序采用的是前者。对于
两个对象my、you,它们的成员变量school的值是相同的,都是“大庆石
油学院”。
(2)在程序的main方法中,为student创建了一个实例my“Student my =new
Student;”,对于类变量和实例变量,那么my.school和my.name它们之间的区别
在哪里?在程序中有类变量school和实例变name、sex,类变量不需要对类进行
实例化而可以直接进行访问,但实例变量要先进行实例化后方能进行访问。
例如:my.name="陈明";
Student.school="大庆石油学院";
最终成员变量一般是在声明时进行初始化,一旦最终成员被赋值,则它在整
个程序执行过程中不能改变。
在Java中创建一个成员变量为常数时,在变量说明总用关键字final。
例如:final double PI=3.1415926;
第18页,共91页。
![](https://csdnimg.cn/release/download_crawler_static/87005991/bg13.jpg)
6-5 方法的引用和修饰
方法描述了对象所具有的功能或操作,反映对象的行为。一个类或对象可以有多个方法,对
象通过引用它的方法对消息进行响应,完成特定功能。
class S6_6{
private double r;
final double PI=3.1415926;
void area(double r)
{
double x;x=PI*r*r;
System.out.println("Area="+x);
}
public static void main(String args[]){
S6_6 dd=new S6_6(); //定义类对象
dd.area(12.3); //引用类中的area()方法
}
}
类方法的调用形式:
(1)在程序中直接调用;
(2)类中的方法作为另一个方法
的参数(递归);
(3)通过对象来引用方法(本程序
就是采用这种方法)
第19页,共91页。
剩余90页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/b4e33dee3e6f433ca7c85e388d1cba5c_m0_64342982.jpg!1)
yyyyyyhhh222
- 粉丝: 424
- 资源: 6万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 电力电子系统建模与控制入门
- SQL数据库基础入门:发展历程与关键概念
- DC/DC变换器动态建模与控制方法解析
- 市***专有云IaaS服务:云主机与数据库解决方案
- 紫鸟数据魔方:跨境电商选品神器,助力爆款打造
- 电力电子技术:DC-DC变换器动态模型与控制
- 视觉与实用并重:跨境电商产品开发的六重价值策略
- VB.NET三层架构下的数据库应用程序开发
- 跨境电商产品开发:关键词策略与用户痛点挖掘
- VC-MFC数据库编程技巧与实现
- 亚马逊新品开发策略:选品与市场研究
- 数据库基础知识:从数据到Visual FoxPro应用
- 计算机专业实习经验与项目总结
- Sparkle家族轻量级加密与哈希:提升IoT设备数据安全性
- SQL数据库期末考试精选题与答案解析
- H3C规模数据融合:技术探讨与应用案例解析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)