`
huobengluantiao8
  • 浏览: 1031412 次
文章分类
社区版块
存档分类
最新评论

知识点的回顾和总结

 
阅读更多

----------------------- android培训java培训、java学习型技术博客、期待与您交流! ----------------------

这些天看了相关视频后,虽然谈不上全部理解和掌握,但是至少脑海中能回忆和联想起相关的概念和代码,比以前的盲感要强了一些。那么今天我对面向对象相关的知识做一些回顾和总结,对相关知识进行整理,或许我总结的过程中,有些概念或者是代码的解释有问题,或许大家觉得这很基础,但还请大家指出来,谢谢指点和多提意见。

1:面向对象思想

面向对象有三个特征:封装、继承、多态。

面向对象的编程思想是在计算机语言中对事物的描述与现实世界中该事物的本来面目尽可能地一致,类(Class)和对象(Object)就是面向对象方法的核心概念。类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的个体,是具体的,因为也称实例(Instance)。

2:类的定义和使用

类可以将数据与函数封装在一起,其中数据表示类的属性,函数表示类的行为。即定义了类就要定义类的属性(类的成员变量)与行为(方法)(类的成员方法)。

例一:

class Student

{

int age;

void int Age()

{

int age = 20; // 函数内部重新定义的一个局部变量,区别与成员变量

System.out.println(“age= ” + age);

}

}

例二:

A a1 = new A();

它代表A是类,a1是引用,a1不是对象,new A()才是对象,a1引用指向new A()这个对象。

在JAVA里,“=”不能被看成是一个赋值语句,它不是在把一个对象赋给另外一个对象,它的执行过程实质上是将右边对象的地址传给了左边的引用,使得左边的引用指向了右边的对象。

3:对象的产生和使用

例如:现在汽车公司要造一批车,已经有了汽车设计图纸,只是还没有投入生产,假象如果只是依靠汽车图纸,是无法实现汽车跑起来的功能的,只有产生了实际的汽车才行,同样想要实现类的属性和行为,必须创建具体的对象。

如:(new关键字创建新对象)

Car c= new Car();

对象引用句柄 c(代表符合)是在栈中分配的一个变量,对象 c(实际对象)在堆中分配,原理同于数组。

注意:定义成员变量时,有默认值,局部变量时,必须初始化.。 //参考上面类的定义例子

每个创建的对象都是有自己的生命周期的。

4:类的封装

private:

例如:人的性别不能随便修改,只能通过各种方法去修改这个属性。这是一种保护。那么怎样对一个类的成员实现保护呢?只需要在定义类成员(包括变量和方法)时,使用private 关键字说明这个成员的访问权限,private访问权限定义了类的私有成员,为高保护权限。只能被这个类的其他成员方法调用,不能被其他类中的方法所调用。

例如:

class Person

{

private int age;

public void show()

{

System.out.println(age); // 这一句没有错误,原因在上

}

}

class PersonDemo

{

public static void main(String[] args)

{

new Person().age= -30; // 报错,age是Person里的私有成员,不能在其他类中直接调用和访问。

}

}

结论:private修饰的类成员,为该类的私有成员,只能在该类的内部访问。

public:

用public 关键字修饰类成员,这些成员就是公共的,并可以在任意类中访问,当然,要在一个类外部访问这个类的成员必须用格式:‘对象.对象成员’。

例如:

class Person

{

private int age;

publicviod setAge(int Age)

{

this.age = Age;

}

pulic int getAge()

{

return age;

}

}

public class PersonDemo

{

publicstatic void main(String[] args)

{

Person p1 = new Person();

p1.setAge(3);

System.out.println(p1.getAge());

}

}

对类成员变量private,提供一个多个public方法实现对该成员变量的访问或修改,即封装

封装目的:

1.隐藏类的细节;

2.让使用者只能通过事先定好的方法来访问数据,限制对属性的不合理操作;

3.易于修改、维护、数据检查。

----------------------- android培训java培训、java学习型技术博客、期待与您交流! ----------------------

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics