- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(面向对象基础
面向对象目标就是减少重复代码
面向对象基础(一)
什么是面向对象?
1、面向对象是一种编程方法
2、面向对象是一种思维方式
3.面向对象不是一种编语言程
应该如何学习面向对象?
1、掌握一门面向对象语言的语法
2、掌握面向对象的思维方式
3、熟悉面向对象设计原则
4、掌握面向对象设计模式(别人设计经验总结作为参考)
什么是面向对象思维方法?
1、首先确定谁来做,其次确定怎么做;
2、首先考虑整体,其次考虑局部;
3、首先考虑抽象,其次是考虑具体
总结:1、不要认为掌握了一门面向对象语言就是掌握了面向对象
2、习惯于将面向对象与现实世界做比较
面向对象基础(二)
1、创建类的方法
2、创建对象的方法
3、对象和对象的引用
定义类的方法
class 类名
{
属性;
方法;
}
属性也叫成员变量,主要用于描述类的状态(变量)
方法也叫成员方法,主要用于描述类的行为(类似于C语言中的函数)
类的表示方法
Dog 类名
{
color 成员变量
age
name
bark() 成员函数
jump()
}
类的定义方法
class Person //类名
{
int age; //成员变量
void shout() //成员函数
{
System.out.println(oh,my god !I am+age);
}
}
age 是类的属性,也叫成员变量
shout是方法也叫类的成员函数
shout方法可以直接访问同一个类中的age变量,如果一个方法中有与成员变量同名的局部变量,
该方法中对这个变量名的访问时局部变量,而不再是成员变量。
生成对象的方法
格式:类名 对象名 = new 类名();
例如:Dog dog = new Dog();
Java数据类型分为两大类型:1 基本数据类型
2引用类型
1. Dog dog = new Dog();创建一个Dog引用dog(在栈中为dog分配空间)
2 Dog dog = new Dog();创建一个Dog对象 (new就是用来在堆内存中开辟空,来存放对象)
注:dog本身不是对象,但dog代表了对象(例如:张三这两个字不是一个人,而是张三这两个字代表了一个人)
3 Dog dog = new Dog();将创建的Dog对象赋给dog这个引用
类是抽象的,指的是一系列的事物
所谓的对象指的是某一只狗
总结:
1 对象的创建方法
2 堆内存与栈内存的使用(堆内存中存放的是对象的本体,栈内存中存放的是对象的引用)
3类和对象的关系(类是抽象的概念,而对象时具体的个体)
面向对象基础(三)
一、对象的使用方法
二、多对象的创建方法
三、匿名对象的创建和使用方法
对象的使用方法
使用对象调用变量和函数:
1对象.变量
2对象.函数()
生成多个对象
Dog d1 = new Dog(); 生成Dog类型的引用d1
Dog d2 = new Dog(); 生成Dog类型的另外一个引用d2
d1 ,d2 在栈内存中分别占用不同内存,d1 ,d2分别指向Dog对象
匿名对象的使用
可以不定义对象的名称,二直接调用这个对象的方法。这样的对象叫做匿名对象,如:
new Dog().jump(); 没有所谓的对象名,注:匿名对象时一次性的
总结:
多对象的使用方法
多对象的创建方法
匿名对象的创建和使用方法
面向对象基础(四)
函数的重载
构造函数的作用
重载的定义
两个或者多个函数在同一个类当中
函数名相同
参数列表不同
class A
{
A() //构造函数(1构造函数没有返回值类型的定义,2构造函数的名字必须和类名相同)
{
}
void funA()
{
System.out.println(没有参数的funA函数);
}
void funA(int i)
{
System.out.println(拥有一个整型参数的funA函数);
}
void funA(int i,double d)
{
System.out.println(拥有连个不同参数的funA函数);
}
}
总结:
函数的重载(1.这些函数在同一个类中,2.这些函数的函数名相同,3.这些函数的参数列表不同)
构造函数的作用(1.构造函数的函数名必须和类名相同2.构造函数没有返回值类型的定义3.使用new调用构造函数4如果类中没有构造函数,编译器会帮我们加一个参
文档评论(0)