1.封装
类与对象都有封装性。说白了,封装是对象对自身内部数据和操作的隐藏,让其他对象无法查看或修改内部数据,一定程度上增加了安全性能。
2.继承的概念
有继承关系的两个类或者对象,有以下两个特征:
(1)继承类具有被继承类的所有属性和行为
(2)继承类具有被继承类没有的属性和行为(这个就是继承的主要功能,在原有的功能上添加功能,不需要在重新写一遍父类的功能)
多重继承,一个类可以被多个类继承,但是一个类不能继承多个。很容易理解,就是一个爸爸可以有好多个孩子,但是一个孩子不可能有多个爸爸。
注意:系统在创建一个子类的时候,会自动将这个子类所继承的父类中相关的代码复制到子类中。因此我们可以知道,继承只是减轻了我们程序员的工作,但是并没有减轻系统的负担噢,要注意噢!(了解一下就好,不重要,哈哈哈!)
3.多态
同样的信息传递给同属的不同类型的对象会导致同一行为的不同表现,这个就是多态性。意思就是,同一个动作我只需要写一个就好了,然后不同的人可以都可以做那个动作,只是做的人不同。这样可以减少代码量,提高效率。
包的基本概念
包是组积类的一种方式,类的容器,我们在书写代码的时候一定一定要分包,这样方便阅读和查找不同的功能实现,让代码存放更加合情合理。这个是一定要有的良好习惯(曾经就因为没有分包被组老大骂过),所以初学者一定要养成习惯噢。就是将你要实现的各种功能分开装好。
同时包也很好地保证类名的唯一性。就是不同包里面,可以有同名的类,不会发生冲突。除此之外,我们后面会常听到“导包”这个词,就是我们使用Java本身现有的包,实现某些功能,是不是很方便呢。当然我们自己写的包,如果是比较常用的,也可以常常导它,这样有减少了代码量噢。
定义类
1.类的声明
语法格式:class 类名;在类的声明中,一定要有class,其实这个挺形象的,class就是类嘛,申明类肯定要有她。
也可以给类声明别的成分
语法格式:[修饰符] class 类名 [extends 基类名] [implements 接口名]
1.修饰符:访问权限由大到小的是:public>protected>不写>private通过这几个的单词意思就明白。
(1)public: (公共权限) 可以修饰类,成员变量,成员方法,构造方法 被public修饰的成员,可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符
(2)protected: (受保护权限) 可以修饰成员变量,成员方法,构造方法,不能修饰类 (外部类,内部类不考虑) 被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。 ...
(3)default (默认权限) 类,成员变量,成员方法,构造方法都能使用默认权限,即不写任何关键字 默认权限即同包权限,同包权限的元素只能在定义它们的类中使用,以及同包的类中被调用
(4)private: (私有权限) 可以修饰成员变量,构造方法,成员方法,不能修饰类 (外部类,内部类不考虑) 被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。
2.extends基类名:用来指明定义类的基类,这个是当你是继承类的时候,需要声明定义类继承的是哪个类。
3.implements接口名:用来说明定义的类要实现的接口,后面会解释接口的概念。如果接口有多个,要用逗号隔开。
成员变量
成员变量表达的是类的属性,语法格式为:
[修饰符] 数据类型 成员变量;
例子:
public String brand;
public String color;
public double speed;
成员方法
实现类的行为或功能,方法声明的语法格式为:
[修饰符] 放回值类型 方法名 ([形式参数列表])[throws 异常]{//方法体}
(throws是用来抛异常的,后面会讲解异常的知识点,先不要急噢~)
方法重载
方法重载指的是在类中定义多个名称相同的方法,但是他们的参数列表一定一定要不一样。参数列表不同包括参数个数不同,参数类型不同,参数传入顺序不同,这样就可以实现啦~
具体代码:
public class Drawing{
public void draw(int i){
...
}
public void draw(double f){
...
}
public void draw(String s){
...
}
}
需要注意的是,方法重载会导致代码阅读性降低,请谨慎使用噢~
构造方法(构造器)
在没有定义的情况下,系统会默认为无参构造器;还有一点要说明,就是在IDEA中,无参构造器和有参构造器,以及后面会用到的一些功能都是可以自动生成的噢。1.定义一个类2.右击点击Generate 或者也可以按快捷键 Alt + Insert3.选择Constructor4.选择参数,选择你想要的构造器需要参数, 按住Ctrl 键点击即可。最后点击OK(具体的话,可以去搜视频看看噢~)
构造器的语法格式:[public] 类名 ([形式参数列表]){
}
(1)构造方法的修饰符只能用public或者不写。
(2)构造方法的名称就是类名
(3)构造方发也可以重载
还有get() set()方法
get()的方法就是获取和调用类里面的private(私有)修饰的成员变量。set()就是给他赋值
也可以自动生成的,可以去搜视频看看噢,文字说明有点长,而且看了也不一定会,建议去看视频。
其实还想讲讲static修饰符;final修饰符;this关键字的,这些都是定义类里面常用的,由于我课内挺多课的,就下次补回来吧