标签:
面向对象
面向对象是一种思想,能让复杂的问题简单化,让我们角色从执行者变成指挥者,不要知道过程,只要知道结果。(一切皆对象。)
描述一个事物,其实就是在描述事物的属性和行为。 对象的特点在于封装数据,数据包含着属性和行为。
我们用类来描述一个事物,然后引用类来建立一个对象。
也可以在本类建立一个主函数来中创建本类对象,这个叫在本类中创建本类对象。
一般一个程序可以由很多个类组成,也可以有多个主函数,但一般有一个主函数就可以。
格式:引用类名 对象名=new 构造函数名(参数); 例:class DuiXiang{}
则建立对象为:DuiXiang mingZi=new DuiXiang(); 如果要实现功能,则格式为: mingZi.变量或函数名();
(string是java中的字符串。 String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。 String 对象是 System.Char 对象的有序集合,用于表示字 符串。String 对象的值是该有序集合的内容,并且该值是不可变的。) 面向对象主要的部分:(类和对象的关系,封装(机箱故事),继承,多态,构造函数,this, static,内部类,抽象类,接口)
面向对象之封装
函数是最小的封装体。类也是一个封装体。
private:私有的,权限修饰符,用来修饰类中的成员(成员变量 、成员函数),其只在本类中有效。
每个成员变量通常都会对应两个访问方式:一个设置,一个获取。 注意:私有仅是封装的一种表现形式。
因为语句都必须在函数内,所以,私有化后,再提供访问方式,就可以在访问方式的函数内实现变量控制。这样就提高代码的健壮性。
一般进行封装,要对类中的大部分属性都隐藏,最低权限是private。
类里有一个setXxx函数(一般返回值是void,直接获取,要带参数)和getXxx函数(有返回值类型,但一般没参数,getXxx之后一般用一个变量来接收:string
构造函数:
函数名与类名一致,不用返回值类型,不可以用return,主要用来初始化对象。 对象一建立,就默认调用其构造函数。一个对象一建立,就有其默认的属性和行为。(如 一个人刚出生就会呼吸,哭...)。
如果我们没有指认,那么类建立就会默认建一个构造函数(类名(){}),不然对象无法初始化,也就无法建立。(注意:只要我们有指认,那么就不会默认建构造函 数)
其与普通函数的区别除了写法上之外:
1,构造函数只在对象建立时运行一次,不再运行了,而普通函数可以调用多次,另外,构造函数是用来初始化对象的,而一般方法是用来添加对象具备的功能。 何时我们 要手动添加构造函数:当我们分析事物时,该事物存在一些特性或行为,那么我们就给其定义一个构造函数,如果有变量参与运算,那么我们就给构造函数定义一个参 数。 构造函数写法举例: class Person { Person(String name,int age)
//注意:在新建一个对象时要加上参数进行区分,因为一个类可以放很多个构造函数。
构造代码块:
1,所有对象在建立时都先执行构造代码块初始化,再执行构造函数初始化。 2,作用:当所有对象有共性时,那么就可以定义一个构造代码块(例如:所有小孩先出来 就是哭,然后才有其它的属性)
构造代码块的写法(就是在类里面用一个大括号)举例: class Person {
{
System.out.print("fada") //这样一写,那么以后每次建立一个构造函数时便先初始化这个构造代码块 } }
this关键字的用法
This在类中就是三个代表:代表对象的成员变量,在函数中代表对象调用函数,代表类中的构造函数。
格式:this.变量=变量;
this是用来区分局部变量和成员变量同名时的关键字,因为如果在构造函数里比如(name=name),那么其是赋值给他本身,而不是赋值给类里面的name。 何是 用this?当定义类中的函数时,需要调用该函数的对象时,这个时候就用this来表示这个对象。
但凡本类功能内部使用到了本类对象,用this表示。
看到this就是有代表对象,代表哪个对象就看其所在功能被哪个对象调用。 这样就知道谁在参与运算。
另一种this用法:格式this(变量)
用于构造函数间的相互调用,而且只能放在构造函数的第一行。 然后先初始化其this调用的构造函数,再初始化本身的构造函数。 其实this(变量);=new 构造函数 名(变量);(因为所有构造函数名是一样的,都是重载函数,所以,通过变量来标记构造函数,用this去引用)
标签:
原文地址:http://www.cnblogs.com/pengtao2016/p/5171057.html