黑马程序员_java基础知识学习总结三

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

函数是定义在类中具有特定功能的独立小程序,也称方法。

格式:

修饰符返回值类型函数名(参数类型形式参数)

           执行语句;

           return 返回值;}

例如定义一个求两整数之和的函数 public int add(int x,int y)

{int z=x+y;

return z; }

 

 

函数可以将功能封装,被调用才执行,实现代码的复用性。函数没有返回值的话,用void关键字,可省略return语句。函数的结果返回给调用者去处理。

函数重载:若在一个类中,有一个以上的同名函数,但参数列表不同就用到重载。重载优化了程序设计,提高阅读性。

例如int addintxint y)与int add int xint yint z)就重载了。

数组:同一种数据类型的集合。数组可以自动给元素编号,即角标,从0号开始

格式:1.元素类型[] 数组名=new [元素的个数或者数组的长度]

例如:int [] arr=new int [2];建立了一个int型数组,数组长度为2

           2. 元素类型[] 数组名=new元素类型[]{}

例如:int [] arr=new int [];{1,3}建立了一个int型数组。有两个元素,分别是13

获取数组的元素,用for经行遍历。数组常见操作是获取最值,排序等。

数组分为一维数组和二维数组。二维数组格式:

1.Int [][] arr=new int [][]

Int [][] arr=new int [2][3]; 该数组有两个一维数组,每个一维数组有3个元素;

Int [][] arr=new int [2][]; 该数组有两个一维数组,每个一维数组初始化值为null

2.Int [][] arr=new int {{13}{57}}

该数组有两个一维数组,且每个一维数组已初始化。

面向对象

面向对象相对面向过程而言,强调的是对象,将功能封装近对象,强调具备了功能的对象。

类与对象:对象是实实在在的个体;类是个体概念上的抽象描述。

类的定义其实就是定义类中的成员,成员即成员变量和成员函数。

成员变量和局部变量的区别:

成员变量定义在类中,在整个类中都可以被访问。成员变量随着对象的建立而建立,存在于对象所在的对内存中。成员变量有默认初始化值。

局部变量制定一在局部范围内,存在于栈内存中。作用的范围结束,变量空间会自动释放。局部变量没有默认初始化值。

开发就是找对象:找对象用,若没有对象就创建对象,然后使用对象。

例如class Car

{        String color=blue”;

         void show()

{        System.out.println(color);

}

}

class CraTest

{

         Car c=new Car();           //建立对象

         c.color=”green”;                  //对对象的属性经行修改

         c.show();                              //使用对象的功能

}

匿名对象:

匿名对象是对象的简化形式

Car c=new Car();  c.color=”green”;用匿名对象为new Car().color=”green”;

匿名对象使用方式一:当对象的方法只调用一次时,可以用匿名对象来完成,这样写会比较简化。若是对一个对象进行多个成员调用时,不能用匿名对象,必须要给对象起名字。

匿名对象使用方式一:可以将匿名对象作为实际参数进行传递。

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

封装

封装就是只隐藏对象的属性和实现细节,仅对外提供公安共访问方式。

好处:将变化隔离、便于使用、提高安全性和重用性。

原则:将不需要对外提供的内容都隐藏起来。把属性隐藏起来,提供公共方法对其访问。

将对象或属性隐藏,用私有关键字private进行私有化。

Private关键字:权限修饰符,权限最小,修饰成员变量和成员函数,被私有化的成员仅在本类中有效。成员变量私有化后,对外提供setget方法对其进行访问,提高对数据访问的安全性。

构造函数:

对象已建立就会调用与之对应的构造函数。

特点:函数名鱼类名相同,不定义返回值类型,不写return语句。

作用:给对象进行初始化。

当一个类中没有定义构造函数,系统会默认给该类加一个空参数的构造函数,方便对象的初始化。当类中自定义了构造函数,系统不再添加默认的构造函数。

多个构造函数都是已重载的形式存在的。

构造函数与一般函数:构造函数是对象一建立就运行,给对象初始化。一般函数是对象调用时才执行,给对象添加独享具备的功能。一个对象建立后,构造函数只运行一次,一般方法可以调用多次。

this关键字

this代表其所在函数所属对象的引用。

this的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,用this来表示这个对象。本类功能内部使用了本类对象,都用this表示。

static静态关键字

用于修饰成员变量和成员函数。static静态修饰的成员对着类的加载而加载,优先于对象存在,被所有对象所共享且可以直接被类名调用。

静态方法只能访问静态成员,非静态方法既可以访问静态也可以访问非静态。且静态方法中不能出现thissuper关键字。

静态利处:对对象的共享数据进行单独空间的存储,节省空间。可以直接被类名调用。

静态弊端:生命周期太长。访问有局限性。(静态虽好,只能访问静态。)

静态代码快:static {执行语句}

特点:随着累的加载而执行一次,优先于主函数执行,用于给类经行初始化。

继承

如果多个类有相同属性和行为时,将共性部分抽取出来放在一个类中,其他类不用再次定义共性属性和行为,只需继承该类即可。有共性的类叫父类,其余类叫子类。子类可直接访问父类中未私有的属性和行为。继承关键字extendsJava支持单继承不支持多继承,可以实现多个接口。

子类与父类有同名成员时,用thissuper区分,this代表本类引用,super代表父类引用。Thissuper只能写在类中第一句

子父类中构造函数:

子类对象初始化时,父类构造函数也运行,因为子类第一句是隐式的super(),子类调用父类构造函数时用super语句。父类中没有空参数构造函数时,子类必须手动通过superthis语句指定要访问的构造函数。子类的构造函数第一行也可以手动制定this语句访问本类中的构造函数。

覆盖:也叫重写。子父类中有相同的函数,且父类的函数不是私有,子类调用这个方法会覆盖掉父类的方法内容。子类覆盖方法中,继续使用被覆盖的方法通过super.函数名获取。

覆盖的应用是当子类需要父类的功能,而功能主体子类有特有的内容,就复写父类方法。因此子类不仅沿袭父类方法又定义子类特有的内容。

覆盖时,子类方法权限要大于父类权限。静态只能覆盖静态。

Final关键字:最终

Final修饰类,方法,变量。Final修饰的类和方法不能被覆盖,final修饰的变量是最终常量,不能被修改。变量可以是成员变量和局部变量。

内部类定义在类中的局部位置时,只能访问该局部被final修饰的局部变量。

抽象类:没有方法主体的方法,该方法的具体实现由子类完成,该方法成为抽象方法。包含抽象方法的类就是抽象类。抽象类和抽象方法都要用abstract修饰。抽象方法:修饰符 abstract 返回值类型函数名(参数列表);

抽象类是具体事物抽取出的功能,但各个事物的具体内容不同,所以抽象类不能被实例化,也就是不能new对象。抽象类的子类覆盖掉抽象类中所有的抽象方法后才可以创建对象,负责该子类也是抽象的类。

          

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

详情请查看:http://edu.csdn.net/heima

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值