黑马程序员 java编程之面向对象学习笔记

来源:互联网 发布:电脑收银软件计算 编辑:程序博客网 时间:2024/06/05 16:40
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------面向对象:
以前学习过C语言,C语言是面向过程,里面功能的实现都是由调用一个个的
函数来完成的,而java是面向对象的编程语言,它有以下几个特点:
1,java中讲很多的数据都封装在类里面,再通过类来创建实体对象,这样能
将一个比较复杂的事情简单化;
2,以前C语言中,是编写一个个的函数来实现相应的功能,而java中是面向对象
进行编程,是将以前过程中的执行者变成了指挥者;
3,面向对象的思想更加的符合人们思考习惯的一种思想。
比如人有姓名,有年龄,这些是人这个事物的属性,人会说话,这个是人的行为。
使用面向对象的思想,我们可以将人的这些属性和行为进行封装。
class person
{
String name;
int age;
public void person(String name,int age)
{
this.name = name;
this.age = age;
}
public void talk()
{
System.out.println("talk");
}
}
通过类我们就可以对人进行实例化:
person p1 = new person("张三",10);
p1.talk();
这样我们就将人通过面向对象的思想进行了封装。

在java中,将内存分成了五个部分:
1,寄存器区
2,本地方法区
3,方法区
4,栈(栈中主要存放就是函数和一些局部变量)
5,堆(堆中主要存放的就是对象包括数组)

当一个对象被创建后,会子啊堆中占据一块存储空间,并会将这部分空间的首地址值赋给
该对象名,对象名是存放在栈中。

一个类中的成员包括成员变量(其实对应的是事物的属性)和成员方法(事物所具备的行为)。

成员变量和局部变量的区别:
1,成员变量是一个类的成员,是存在于类中,而局部变量是被定义在函数中或局部代码块中;
2,成员变量是当对象被创建后存在于堆内存中,而局部变量是存在于栈中的;
3,成员变量是随着对象的创建而出现,随着对象的消失而消失,局部变量是作用于函数中的{}
中,从被定义后就存在栈中,当程序执行到}时就会被释放。
4,成员变量当对象被创建后在堆中都有默认的初始化值,而局部变量是没有默认的初始化值的。

匿名对象:其实就是一个没有起名字的对象.
特点:1,当对象中的方法只被调用一次时,可以创建匿名对象;
     2,匿名对象可以作为参数进行传递。

一般类中的成员变量都用private来修饰,这是因为java是考虑到安全性的问题,假如用public来
修饰,那么除了本类以外的其他方法也可以对其直接赋值,那么这样就由可能出现一个人的年龄被
赋值成了-10岁,但实际中是不存在-10岁的年龄的,所成员变量用private修饰后,只能在本类中的
方法所调用,为了让其他类也能使用这些成员变量,类中一般会提供一个公共的访问接口。
class person
{
private String name;
//private int age;
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void talk()
{
System.out.println("talk");
}
}
上面代码中函数setName()和getName()就是提供的公共访问的方法。

构造函数:是给该类创建的对象进行初始化的。
一个类中可以有一个或多个构造函数,但是他们传递的参数在数量和类型上不同,
其实这也是函数重载的一个案例。
每一个类都有一个默认的构造函数。

this关键字是代表的当前对象。

static关键字:用来修饰变量和函数。
被static修饰的数据是共享数据,它是优先于对象存在的。
被static修饰的成员可以直接被类名调用。

静态的方法只能访问静态的成员,不能访问非静态成员。
静态方法中不能使用this,super等关键字,this表示的是一个对象,而静态方法
中调用this是对象可能还没被创建。

那什么时候使用static呢?
1,成员变量:如果成员变量是一个共享的,是共有数据,那么可以定义成静态变量。
如果该成员变量是特有数据,那么就不能定义成静态。
2,成员函数:方法中有没有调用特有数据。如果没有就可以定义成静态方法。

成员变量和静态变量的区别:
1,成员变量是对象的特有数据,
静态变量是共享的数据;
2,成员变量是随着对象的创建而存在,
静态变量是优先于对象存在的,是随着类的加载就出现了,
3,成员变量当对象被创建后存储在堆中,
静态变量是存储的在方法区内存中,
4,成员变量只有当对象被创建后被对象所调用,
静态变量可以直接被类名调用,也可以被对象调用。
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com
0 0
原创粉丝点击