面向对象
ZeroOne_GoGoGo
记录零基础学习Java的学习过程
展开
-
面向对象ALL
类和对象1)现实生活是由很多很多对象组成的,基于对象抽出了类2)对象:软件真实存在的单个个体/东西类:类型/类别,代表一类个体3)类是对象的模板,对象是类的具体的实例4)类中可以包含:4.1)对象所共有的属性/数据--------------成员变量4.2)对象所共有的行为/动作--------------方法5)一个类可以创建多个对象创建对象 引用数据类型 引用类型变量 指向 对象Student zs =原创 2020-08-23 15:59:27 · 140 阅读 · 0 评论 -
面向对象Day08——接口
接口:1)是一种数据类型(引用数据类型)2)由interface定义3)只能包含常量和抽象方法4)接口不能被实例化5)接口是需在被实现/继承的,实现类/派生类:必须重写所有抽象方法6)一个类可以实现多个接口,用逗号分隔若又继承又实现时,应先继承后实现7)接口可以继承接口设计规则:1.将所有派生类所共有的属性和行为,抽到超类中-------抽共性2.所有派生类的行为都一样,设计为普通方法所有派生类的行为都不一样,设计为抽象方法3.将部分派生类所共有的属性和行为,抽到接口中接口是对原创 2020-08-22 08:14:44 · 87 阅读 · 0 评论 -
面向对象Day07——内部类
1.成员内部类:1)类中套类,外面的称为Outer外部类,里面的称为Inner内部类2)内部类通常只服务于外部类,对外不具备可见性3)内部类对象通常是在外部类中创建的4)内部类中可以直接访问外部类的成员(包括私有的)内部类中有个隐式的引用指向了创建它的外部类对象语法: 外部类名.this2.匿名内部类:大大的简化代码1)若想创建一个类(派生类)的对象,并且对象只创建一次,此时该类不必命名,称之为匿名内部类2)匿名内部类中若想访问外面的变量,该变量必须是final的(JDK1.7(含)以原创 2020-08-21 09:58:15 · 120 阅读 · 0 评论 -
面向对象Day06——常量、抽象方法、抽象类
1.static final常量:1)必须声明同时初始化2)通过类名点来访问,不能被改变3)建议:常量名所有字母都大写,多个单词用_分隔4)编译器在编译时会将常量直接替换为具体的值,效率高5)何时用:数据永远不变,并且经常使用2.抽象方法:1)由abstract修饰2)只有方法的定义,没有具体的实现(连大括号都没有)3.抽象类:1)由abstract修饰2)包含抽象方法的类必须是抽象类3)抽象类不能被实例化(实例化就是new对象)4)抽象类是需要被继承的,派生类:4.1)重写所有原创 2020-08-20 08:13:27 · 175 阅读 · 0 评论 -
面向对象Day05——package、import、访问控制修饰符、final、static
1.package:1)作用:避免类名的冲突2)类的全称:包名.类名,同包中的类不能命名冲突3)包名常常有层次结构4)建议:包名所有字母都小写import:同包中的类可以直接访问不同包中的类不能直接访问,若想访问:1.1)先import声明类再访问类-----建议1.2)类的全称-------------------太繁琐,不建议访问控制修饰符:-------------保护数据的安全1)public:公开的,任何类2)private:私有的,本类3)protected:受保护的,原创 2020-08-18 19:02:53 · 98 阅读 · 0 评论 -
面向对象Day04——向上造型,重写
1.向上造型:1)超类型的引用指向派生类的对象2)能点出来什么,看引用的类型-------这是规定,不需要理解2.方法的重写(Override):重新写、覆盖1)发生在父子类中,方法名相同,参数列表相同,方法体不同2)重写方法被调用时,看对象的类型3)重写遵循"两同两小一大"原则:3.1)两同: 3.1.1)方法名相同3.1.2)参数列表相同3.2)两小: 3.2.1)派生类方法的返回值类型小于或等于超类方法的 1)void时,必须相同 2)基本类型原创 2020-08-17 12:46:30 · 76 阅读 · 0 评论 -
面向对象Day03——继承
继承:1)作用:代码复用2)通过extends来实现继承3)超类/父类:派生类所共有的属性和行为派生类/子类:派生类所特有的属性和行为4)派生类继承超类后,派生类具有:派生类的+超类的5)一个超类可以有多个派生类一个派生类只能有一个超类----单一继承6)具有传递性7)java规定:构造派生类之前必须先构造超类7.1)若派生类的构造方法中没有调用超类的构造方法,----则默认super()调超类的无参构造方法7.2)若派生类的构造方法中调用了超类的构造方法,----则不再默认提供原创 2020-08-15 18:51:24 · 89 阅读 · 0 评论 -
面向对象Day02——构造方法(构造器)
1.方法的签名:方法名+参数列表2.方法的重载(Overload):1)发生在同一类中,方法名称相同,参数列表不同,方法体不同2)编译器在编译时会根据方法的签名自动绑定方法3.构造方法:----------------代码复用1)给成员变量赋初值2)与类同名,没有返回值类型(连void没有)3)在创建(new)对象时被自动调用4)若自己不写构造方法,则编译器默认提供一个无参的构造方法,若自己写了构造方法,则不再默认提供5)构造方法可以重载4.this:指代当前对象,哪个对象调用方法它原创 2020-08-11 18:59:01 · 154 阅读 · 0 评论 -
面向对象Day01——创建类、创建对象、访问成员
1.什么是类?什么是对象?1)现实生活是由很多很多对象组成的,基于对象抽出了类2)对象:软件真实存在的单个个体/东西类:类型/类别,代表一类个体3)类是对象的模板,对象是类的具体的实例4)类中可以包含:4.1)对象所共有的属性/数据--------------成员变量4.2)对象所共有的行为/动作--------------方法5)一个类可以创建多个对象2.如何创建类?如何创建对象?如何访问成员?class; new . **原创 2020-08-10 19:15:58 · 140 阅读 · 0 评论