java4~6章总结

类:抽象概念的集合(模板),确定对象将拥有的属性和行为(方法)。
对象:一种个性的表现,表独立的一个个体,每个对象都拥有自己独立的属性,不同的属性来区别不同的对象(依靠属性区别)。
二者关系:类为抽象概念,是对一类事物的抽象描述, 不能直接使用,对象是一个具体的事物,可直接使用。类需要实例化才能使用,实际开发过程中,先产生类,然后再有对象。
对象产生格式:1.声明同时实例化对象  类名.对象名=new 类名()
2.先声明实例化,再实例化对象  类名.对象名=null
              对象名=new 类名()                                     成员变量:类定义对象具有的变量。
成员函数:成员变量生存期是对对象的生存期,作用域为类内部成员函数。
函数重载:1.函数参数个数不同;
                   2.函数参数的个数不同,类型不同;
                   3.函数参数的个数不同,类型不同,但是在  陈述列表中出现顺序不同。
构造函数:初始化对象,运行快,优于成员函数。
特点:函数名称与类的名称相同,不含返回类型。类名对象名=new 类名(传给构造函数的参数列表)
静态变量:也叫类变量,独立方法外的变量。
静态函数:普通函数定义前加关键字static。
静态成员:静态变量和静态函数。
访问方法:1.类名.函数名2.对象名.函数名。
封装:面向对象基本特征之一。
实现封装:将不能暴露的成员隐藏;用公共方法来暴露隐藏成员的访问,可以加上修饰符public,将该定义为公共的。
包:类所在的文件夹,用来组织java文件的。可以将功能相似的一些java类放在同一个包中,以方便组织调用。在同一个工程中允许存在相同名称的类,只要在不同的包中。
即可导入包中的类:使用类的全途径;导入包,可直接import java.until,导入until里的所有类;静态导入包,类里若存在同名的静态方法也可能冲突。                         访问控制权限修饰符:private,defauit,protected,public。                                                                             private类型成员只能在定义它的类里被访问;default类型的成员可以在定义它的类内部被访问,也可以被这个包的其他类访问;protected类型成员可以在定义它的类部被访问,也可以被这个包的其他类访问,还可以被包外的子类访问;public类型成员可以在定义它的类内部访问,可以包内外其他类访问。                                    使用类中类问题原因:类中类属于类问题,是一个类的内部对象初始化问题。程序错综复杂时,编写类中类能更紧凑。                                                                          注意:1.内部类中类的成员在内部范围内才能使用,外部类不能使用,自己的成员变量一样使用它们。              2.如果在内部类中使用this,仅代表内部类的对象,因此只能引用内部类的成员。                                                  继承:代码复用,由己有类创建类的过程。                 子类的继承性:① 子类拥有父类非private的属性和方法。(不继承父类构造方法) ② 子类可以拥有自己的属性和方法,对父类进行扩展。 ③ 单继承,多重继承。 ④ 如果子类和父类不在同一包中,子类不继承父类的友好成员变量。(当用子类构造方法创建一个子类对象时,不仅子类中声明的成员变量被分配了内存,而且父类的成员变量也被分配了内存空间)

2、成员变量的隐藏和方法重写
所声明的成员变量的名字和从父类继承来的成员变量的名字相同(声明类型可不同),在这种情况下,子类就会隐藏所继承的成员变量。想要使用则需使用super关键字。

方法重写:重写从父类继承来的方法,且这个方法的名字、参数个数、参数类型和父类方法完全相同。(重写不允许降低方法的访问权限,但可以提高)

3、super关键字
​① 用来调用父类被隐藏的成员变量或方法。               ​ ② 用来调用父类的构造方法,当用子类构造方法创建对象时,子类构造方法总是先调用父类的构造方法。 super();

4、final关键字
​ final类:final类不能被继承                                         final方法:不允许子类修改继承的方法                        常量:在声明时没有默认值,所以要求程序在声明常量时必须指定该常量的值,而且常量在运行期间不允许再发。

接口:

 ① 用interface来定义一个接口                                     ② 接口体中只有抽象方法且访问权限为public(允许省略public和abstract修饰符)。                                         ③ 接口体中常量的访问权限为public,而且是static常量(允许省略public、final和static修饰符)                     ④ 可直接使用(接口名.常量)访问接口中的常量。 

  实现接口:                                                                     ① 用implements声明该类实现一个或多个接口。         ② 如果一个非抽象类实现了某个接口,那这个类必须重写这个接口中的所有方法,而且方法的访问权限一定要显示的用public来修饰。                                                ③抽象类可以重写接口中的方法,也可以直接拥有接口中的方法。

接口回调:                                                                     可以把实现某一接口的类创建的对象的引用赋值给给接口声明的接口变量,那么该接口变量就可以调用被类实现的接口方法。实际上,当接口变量调用被类实现的接口方法时,就是通知相应的对象调用这个方法。

4、抽象类与接口的比较

​ ① 抽象类和接口中都可以由抽象方法。

 ② 接口中只能有常量,不能有变量;而抽象类中既可以有常量也可以有变量。

③ 抽象类中可以有抽象方法也可以有非抽象方法,接口不行


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值