A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 强强_U00ts 中级黑马   /  2015-7-23 20:07  /  279 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1,类的继承

继承,可以使用以前定义的类的成员方法和成员变量,节约了很多编程时间,同时减少了出错的机会,提高来了软件的维护性和扩展性,

继承是一种(is-a)关系,例如,轿车是一种汽车,,汽车又是一种交通工具



实现继承是通过extends关键字在声明类时制定其父类,
::[修饰符] class 类名 extends 父类名{类体....}

[java] view plaincopy
class Person//父类  
{  
    String name;  
    int age;  
}  
class Student extends Person//子类继承了父类的属性  
{  
    void study()  
    {  
        System.out.println("good study");  
    }  
}  
class Worker ixtends Person//子类继承了父类的属性  
{  
    void work()  
    {  
        System.out.println("good work");  
    }  
}  
子类与父类之间要有关系::::
不要为了获取其他类的功能而简化代码去继承,必须有所属关系才可以继承

java语言中,不支持多继承,即一个子类继承多个父类,:当多个父类中定义了相同内容是,子类不确定调用哪一个

java语言中支持多实现,也是一个继承体系



子父类出现后,类中的成员如变量,函数和构造函数在子父类中的特点:

1,变量: 关键字与this和super有关

this.变量名--,是对本类对象的引用,super.变量名--是对父类对象的引用

子类出现**非私有**的同名变量时,关键是非私有和同名,那么访问本类变量用this,访问父类变量用super


2,函数: 腹写(覆盖)

当子类中出现和父类一模一样的函数时,子类对象调用该函数,会运行子类内容,

覆盖 ;子类继承父类功能,功能内容不一样,调用子类功能进行覆盖,避免了定义新功能.

同时,子类覆盖父类时,必须保证子类权限大于等于父类权限,才可以覆盖,否则变异失败.注意,静态只能覆盖静态.

[java] view plaincopy
class Fu  
{  
    void show()  
    {  
        System.out.println("fu show");  
    }  
    void speak()  
    {  
        System.out.println("vb");  
    }  
}  
  
class Zi extends Fu  
{  
    void speak()  
    {  
        System.out.println("java");  
    }  
    void show()  
    {  
        System.out.println("zi show");  
    }  
}  

3,构造函数,:
在对子类对象进行初始化时,子类构造函数第一行有一条隐士的 语句super();,从而父类的构造函数也运行了,它会访问父类中空参数的构造函数.

有必要的可以在构造函数第一行手动定义super语句来访问父类类的构制定造函数,

super语句一定定义在子类构造函数的第一行.

object时上帝,是所有类的父类

静态代码块。
格式:
static
{
        静态代码块中的执行语句。
}

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



运行顺序::静态代码块>>>构造代码块>>>构造函数

final:最终:::

1,final可以修饰类,函数,变量

2,被final叙事的类不可以被继承,

3,被final修饰的方法不可以被复写

4,被final修饰的变量是一个常量,只能赋值一次,既可以修饰成员变量,又可以修饰局部变量

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


修饰符:


java中的四种权限
public,protected,default,private

private仅可以用在同一个类中
default权限在同一个类或者同一个包真空
protected权限在同一个类,同一个包或者子类中
public权限最大,同一类中,同一包中,不同包中,子类.

封装:
封装就是吧属性隐藏,使用private修饰符,使其他类无法直接访问该成员变量,但是本类可以访问.达到封装的效果.



1.将成员变量设置为private后,必须通过本类定义 的设置器方法来设置和修改成员变量的直,.其方法的命名一般是set作为前缀,属性作为后缀,如setColor()

[java] view plaincopy
Car.setColor("红色")  

可以定义任何方法实现属性的设置和修改,统一 的规范编程只是增加了程序的可读性.

2.访问器以get作为方法名称的前缀,以属性名作为后缀,来读取私有对象的属性值

[java] view plaincopy
public String getColor(){  
return color;//返回color属性  
}  

2 个回复

倒序浏览
又复习了一遍,感谢!
回复 使用道具 举报
也是这两天学的  一起努力
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马