抽象类和final】的更多相关文章

抽象类和抽象方法的特点: 1.都通过abstract关键字来修饰. 2.抽象类不能实例化. 3.抽象类中可以有 0~多个抽象方法.(可以没有抽象方法) 4.抽象方法只有方法声明,没有方法实现.(没有方法体) 5.有抽象方法的类必须声明为抽象类. 6.子类必须重写父类(抽象类)中所有的抽象方法才能实例化,否则子类还是一个抽象类. final修饰符: 1.用final修饰的类,不能被继承. 2.用final修饰的方法,不能被子类重写. 3.用final修饰的变量(包括成员变量和局部变量)将变成常量,…
1.1 抽象类 1.1.1 抽象类概念 C extends B,B extends A,在继承过程中,形成一个继承金字塔,位于金字塔底部的类越来越具体(强大),位于塔顶的越来越抽象(简单). 例如:人继承于动物,鱼继承于动物.人有睡觉(闭眼睡)的方法,鱼有睡觉的方法,动物也有睡觉的方法, 当一个类中的方法过于抽象时,实现不确定如何实现,此时可以把该方法定义成抽象方法. 抽象方法所在的类过于抽象,称为抽象类(abstract class) public abstract class 类名 { }…
抽象类 用abstract关键字来修饰一个类时,这个类叫抽象类: 用abstract关键字来修饰一个方法时,该方法叫做抽象方法. 含有抽象方法的类必须被定义而为抽象类,抽象类必须被继承,抽象方法必须被重写. 抽象类不能被实例化. 抽象方法只需要被声明,而不需要实现. abstract class Animal { private String name; Animal(String name) { this.name = name; } /*public void enjoy() { Syste…
抽象类: 概念:在继承过程中,形成一个继承金字塔,位于金字塔底部的类越来越具体(强大),位于塔顶的越来越抽象(简单). 关键字  :abstract 抽象类特性: [1]抽象类过于抽象,实例化后无语义 => 不能实例化 [2]如果一个方法过于抽象无法实现,需要把该方法声明为抽象方法.形式 public abstract void sleep(); //     [3]子类继承抽象类,一定要根据自身情况重写抽象类的抽象方法,除非子类也是抽象类.  抽象类中注意地方 : [1]抽象方法一定位于抽象类…
一.继承: 关键字extends /* 定义一个父类:人类 定义父类格式:public class 父类名称{ } 定义子类格式:public class 子类名称 extends 父类名称{ } */ 代码示范: *要点: 1.子类中在main方法中创建父类对象可调用父类方法: 2.不加关键字直接访问本方法局部变量(可重名时区分): 3.使用this关键字访问本类成员变量(可重名时区分): 4.使用super关键字访问父类成员变量(可重名时区分): 5.如果存在方法的重名:父类与子类有重名方法…
final: 1.理解:凡是final修饰的东西都具有了不变的特性: 2.修饰对象: 1)final+类--->类无法被继承: 2)final+方法--->方法无法被覆盖: 3)final+变量--->只能被赋值一次: eg:被 final 修饰的引用,由于只能被赋值一次,所以其储存的地址不变,所以它的指向也就不会改变,但不代表其指向的对象内部的数据不会改变: 注意: 被 final 修饰的变量为实例变量时,必须手动初始化(否则报错),不能系统自动赋值了: final 修饰的静态变量一般…
本文主要介绍了抽象类和接口的特性和使用方法. 具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech 文章首发于我的个人博客: https://h2pl.github.io/2018/04/24/javase5 1 抽象类一般会实现一部分操作,并且留一些抽象方法让子类自己实现,比如Stringbuffer和Stringbuilder的父类abstractStringbuilder. 2 接口一般指一种规定,比如一个map接口中,可能需要实现增删改查等功…
1 抽象类一般会实现一部分操作,并且留一些抽象方法让子类自己实现,比如Stringbuffer和Stringbuilder的父类abstractStringbuilder. 2 接口一般指一种规定,比如一个map接口中,可能需要实现增删改查等功能,如果你想实现一个具体map,这些方法就必须按照规定去实现. 3 另外,一个类可以实现多个接口,但是不能继承多个类. 然而接口却可以继承多个其他接口.这一点很神奇. 下面看一下具体的例子,有一些小细节平时可能不会注意. class A { } inter…
抽象类的概念: 1.Java中可以定义没有方法体的方法,还方法的具体实现由子类完成,该方法称为抽象方法,包含抽象方法的类就是抽象类: 2.如,shape类计算周长和面积的方法无法确定,那么就可以将这样的方法声明为抽象的,以便在具体的子类中实现 抽象类的特征: 抽象方法的声明 修饰符abstract 返回值类型 方法名([参数列表]): 注意:因为抽象方法无法确定具体执行的功能,所以抽象方法没有方法体,需要在小括号后加上分号 抽象类的声明 语法:修饰符 abstract class 类名 exte…
第四章: 4.6深入数组 1.栈内存和堆内存 每个方法都会建立自己的内存栈,在这个方法内定义的变量会逐个放入栈内存里,随着方法的执行结束,这个方法的内存栈也将自然销毁.因此,所有在方法中定义的局部变量都是放在栈内存中的,在程序中创建一个对象,这个对象将被保存到运行时数据区中,以便反复利用,这个运行时数据区就是堆内存. 定义并初始化一个数组后,在内存中分配了两个空间,一个用于寻访数组的引用变量,另一个用于存放数组本身. 第五章 面向对象(上) 1.static 修饰的方法属于类, 2. 第六章 面…
一◐ java概述                                                                                        1.1 Java的不同版本:J2SE.J2EE.J2ME的区别                                                  1998年12月,SUN公司发布了Java 1.2,开始使用“Java 2” 这一名称,目前我们已经很少使用1.2之前的版本,所以通常所说的Ja…
原文链接:http://www.orlion.ga/1117/ 先看一下类的结构: struct _zend_class_entry {     char type;     // „类型:ZEND_INTERNAL_CLASS / ZEND_USER_CLASS     char *name;// 类名称     zend_uint name_length;                  // 即sizeof(name) - 1     structͺ_zend_class_entry *…
面向对象部分 首先要了解面向对象的思想,与C#一致,都是面向对象的语言 访问修饰符 public 共有的,对所有类可见. protected 受保护的,对同一包内的类和所有子类可见. private 私有的,在同一类内可见. 默认的 在同一包内可见.默认不使用任何修饰符 子类继承使用"extend",而不是C#中的 ":" class Dog class Teddy extends Dog 子类方法的访问范围只能比父类方法的访问范围大 变量的作用域分为四个级别: 类…
   NIO提供全新的底层I/O模型.与最初的java.io包中面向流(stream-oriented)概念不同,NIO采用了面向块的概念(block-oriented).在尽可能的情况下,I/O的操作以大的数据块为单位进行,而不是一次一个字节或字符.这样提高java的I/O性能,也牺牲了操作的简单性.     NIO中提供与平台无关的非阻塞I/O,与面向线程的.阻塞式I/O方式相比,多道通信.非阻塞I/O技术可以使应用程序更有效地处理大量连接的情况.     新IO没有在原来的IO基础上开发,…
基本语法 编写Java程序时,应注意以下几点: 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的. 类名:对于所有的类来说,类名的首字母应该大写.如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass . 方法名:所有的方法名都应该以小写字母开头.如果方法名含有若干单词,则后面的每个单词首字母大写. 源文件名:源文件名必须和类名相同.当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为…
源自:http://blog.sina.com.cn/s/blog_4cc16fc50100c0uh.html public abstract class Result {   //抽象的结果类 public abstract Object getResultValue(); } class FutureResult extends Result{  //取货凭证类 private Result result; private boolean completed; public synchron…
---------------------------------------------------------           PHP知识大全 --------------------------------------------------------- 1. 变量如何定义?如何检查变量是否定义?如何删除一个变量?怎样检测变量是否设置? $定义   isset()// 检测变量是否设置 defined()// 检测常量是否设置 unset()//销毁指定的变量 empty()// 检…
--------------------------------------------------------- PHP知识大全 --------------------------------------------------------- 1. 变量如何定义?如何检查变量是否定义?如何删除一个变量?怎样检测变量是否设置? $定义   isset()// 检测变量是否设置 defined()// 检测常量是否设置 unset()//销毁指定的变量 empty()// 检测变量是否为空 2.…
Java语法基础 更新时间:2018-1-7 10:34:05 Hello World 文件名:HelloWorld.java public class HelloWorld { public static void main(String []args) { System.out.println("Hello World"); } } 注意: 1.文件名需与类名一致,如果文件名和类名不相同则会导致编译错误 2.区分大小写 3.区分单引号双引号,双引号表示字符串 4.所有的方法名都应该…
正文:               下面的表格列出了java中修饰符的一些信息: 修饰符名称 类型 类 变量 方法 abstract 非访问控制符 抽象类          -- 抽象方法 final 非访问控制符 最终类 最终变量 最终方法 static 非访问控制符           -- 静态变量 静态方法 volatile 非访问控制符           -- 易失变量              -- native 非访问控制符           --         -- 本地方…
目录 创建对象 成员属性 成员方法 构造方法 析构方法 垃圾回收机制 访问修饰符 魔术方法 对象比较 继承 重载 属性重载 方法重写 属性重写 静态属性 静态方法 多态 类型约束 抽象类 接口 final关键字 类常量 对象遍历 PHP内置标准类 其它数据类型转成对象 创建对象 $对象名 = new 类名(); $对象名 = new 类名; new 是一个关键字,表示创建一个新的实例. 在类定义内部,可以用 new self 和 new parent 创建新对象. 成员属性 成员属性必须要有访问…
java学习札记 0x0 学习原因  本来打算大三再去跟着课程去学习java的,但是现在题目越来越偏向java,所以迫于无奈开启了java的学习篇章,同时也正好写个笔记总结下自己学习一门语言的流程. 0x1 java学习过程 1.了解java的历史 2.安装eclipse,尝试写一个hellowworld 3.了解java的基本数据类型 ​ (1)bytes ​ (2)int short long 整形 ​ (3)double float 浮点型 ​ (4)string ​ (5)boolean…
基本功 面向对象特征 封装.继承.多态和抽象 1.封装:给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法,来改变它内部的数据. 在Java中,其访问权限有3种修饰符:public.private.protected.每一个修饰符给其他的位于同一包或者不同包对象都赋予了不同的访问权限. 好处: 1.通过隐藏对象的属性,来保护对象内部的状态. 2.提高了代码的可用性和可维护性,因为对象的行为可以被单独改变或者扩展. 3.禁止对象之间的不良交互,提高模块化. 2.继承:给对象提…
Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 Java中的类 类可以看成是创建Java对象的模板. 通过下面一个简单的类来理解下Java中类的定义: public class Dog{      String breed;        int age;      String color; void barking(){      } void hungry(){       } void sleeping(){     } } 一个类可…
不积跬步无以至千里,这里会不断收集和更新Java基础相关的面试题,目前已收集100题. 1.什么是B/S架构?什么是C/S架构 B/S(Browser/Server),浏览器/服务器程序 C/S(Client/Server),客户端/服务端,桌面应用程序 2.你所知道网络协议有那些? HTTP:超文本传输协议 FTP:文件传输协议 SMPT:简单邮件协议 TELNET:远程终端协议 POP3:邮件读取协议 3.Java都有那些开发平台? JAVA SE:主要用在客户端开发 JAVA EE:主要用…
PHP-CPP是一个用于开发PHP扩展的C++库.本节讲解如何在C++中实现PHP类. 类和对象 类和对象 怎样在PHP-CPP里写出PHP的类呢?很简单,看下面的例子: main.cpp /** * User: 公众号: 飞鸿影的博客(fhyblog) * Date: 2018/7 */ #include <time.h> #include <phpcpp.h> /** * Counter class that can be used for counting */ class…
当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则: 一个源文件中只能有一个public类. 一个源文件可以有多个非public类. 源文件的名称应该和public类的类名保持一致.例如:源文件中public类的类名是Employee,那么源文件应该命名为Employee.java. 如果一个类定义在某个包中,那么package语句应该在源文件的首行. 如果源文件包含import语句,那么应该放在package语句和类定义之间.如果没有package语…
Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态. 下图中男孩女孩为类,而具体的每个人为该类的对象: Java中的对象 现在让我们深入了解什么是对象.看看周围真实的世界,会发现身边有很多对象,车,狗,人等等.所有这些对象都有自己的状态和行…
public:说明该类的访问类型是公有的,它生成的对象能被其他的对象调用! abstract:用来声明抽象类! final;如果一个类被声明成final类型,那么就不能再由它派生出子类. 可以简单的看出一个类不能同时被生成abstract和final类型的! 关键字 public 说明该类的访问类型是公有的,它生成的对象能被其他的对象调用! protected:可以总结为“对内是公有的,对外是私有的!”也就是说在同一个包下该类的访问类型是公有的,不同包下则不能被调用! private:只能被该类…
1.从菜鸟网站开始学习.http://www.runoob.com/java/java-tutorial.html 2. String args[] 与 String[] args 还有一个就是String... args 3.枚举类型. 4. 关键字:都是小写的,jdk1.2多了strictfp(经准浮点型),关键字 jdk1.4多了assert(断言)关键字,jdk1.5多了enum(枚举) 关键字. true.false.null 严格说不应该算关键字,应称其为保留字更合适. 5. Jav…