java32
1.抽象类必须有子类才有意义
2.子类中会默认有构造器来调用父类的构造器
3.接口:表示一种规范
interface 接口名(命名规则:在名称前加上I后加上able){
}
-2接口也生成对应的字节码
-3接口其实是一个特殊的抽象类
interface 接口名{
void transport();//字节码中实际上是public abstract void a();
}
}
4.接口注意点
-1接口没有构造器(也没有默认构造器),不能创建对象
-2接口中定义的变量,都是全局的静态常量(相当于加了final)
-3接口中定义的方法都是公共的抽象方法
interface Iusbable{
String name = "ss";
//相当于public static final String name;又因为当final修饰一个字段时,字段相当于常量,所以必须加上初始值
void a();
}
-4接口是可以被继承的,并且可以多继承(继承的父类也必须是接口类),但是类不可以多继承
接口中一般不会有方法的覆盖(没有意义)
5.接口:
开始只是规范说明
现在是接口的实现类
implement:实现
实现关系也称继承关系(可以写成多态的形式),但不等同
接口的实现:
-1定义一个类,这个类及可以继承(extends)其他的类(一个),也可以实现(implements)其他的接口(多个)
********继承的是普通的类。
-2这个类必须去覆盖接口中的方法(覆盖的时候,子类覆盖权限必须大于等于父类的范围),接口中的方法默认是
public abstract void a();
-3到具体的对象
面向接口编程:类实现接口的过程中赋值给父类
eg:
interface Iwalkable{ //接口
void walk(); //public abstract void walk
}
class Animal{ //普通的类
}
class Cat extends Animal implements Iwalkable{
public void walk() {
System.out.println("走猫步");
}
}
public class t {
public static void main(String[] args) {
Iwalkable a = new Cat();//面向接口编程
a.walk();
}
}
6.抽象类和接口的相同点:
-1都是被其他类实现或者继承
-2里面都有抽象方法,并且子类中必须覆盖其父类的抽象方法
-3都不能实例化(即不能new())
不同点:
-1抽象类中可以有构造器(但一般不会去创建构造器,因为没有意义,抽象类本身就是抽象的,没有具体的东西),
而接口中不可以有
-2抽象类中可以包含普通方法和抽象方法,而接口中只能有抽象方法
-3接口中默认成员变量:public static final 变量--》相当于静态常量
抽象类中是默认权限(同一个包中能访问,不同包中是不能访问的)
-4接口中的方法:public abstract void a(){};
抽象类中是默认权限:void a(){};
java32的更多相关文章
- java32至md5加密
码,如以下 <span style="font-size:18px;">import java.security.MessageDigest; import java. ...
- JavaEE成长之路
前言 学习Java已经有一段时间了,在学习的过程中也走过了不少弯路. 写下这篇博文,主要是想记录下自己学习编程之路,以及反思自己在学习的时候出现的问题,下面也会给出我自认为学习JavaEE的路线,想要 ...
- 在Windows上安装「算法 第四版」组件
这篇文档将向你介绍如何在Windows系统上安装本书将用到的Java开发环境,同时我们也提供了一个手把手的.使用我们提供的DrJava工具或者用命令行来创建.编译和运行你的第一个Java程序的手册,这 ...
- xmind指定32位jdk解决在64位系统上不能启动的问题
在xmind.ini文件的第一行添加下面的内容: -vmF:\kfgj\Java32.1.6\jdk1.6.0_16\bin\javaw.exe (根据实际情况指定32位jdk的javaw.exe文件 ...
- 160812、apache milagro分布式安全认证系统
java32位.64位及js的代码:http://pan.baidu.com/s/1cqnwuE 一.云链接为中心的软件及需要互联网规模物联网设备 二.利用双线性密码学分发加密操作和分裂的加密参数 三 ...
- 一个电脑同时运行 64bit 和 32bit 的eclipse 如何匹配 jdk环境
一个电脑同时运行 64bit 和 32bit 的 eclipse 如何匹配 jdk环境 1 eclipse 分 64bit 和 32bit 两种. 64bit的eclipse 只能搭配 64b ...
- maven 安装 过程
maven 安装 过程 1 下载: apache-maven-3.0.3-bin.zip 压缩包 2 将压缩包解压到需要安装的目录文件中. 比如解压到: Z:\zr_anzhungwenjian\ap ...
随机推荐
- 记录小白实习生的HashMap源码 put元素 的学习和一些疑问
首先看HashMap存储结构 transient Node<K,V>[] table; static class Node<K,V> implements Map.Entry& ...
- Kafka运维填坑(转)
前提: 只针对Kafka 0.9.0.1版本; 说是运维,其实偏重于问题解决; 大部分解决方案都是google而来, 我只是作了次搬运工; 有些问题的解决方案未必一定是通用的, 若应用到线上请慎重; ...
- Nginx配置反向代理服务器
首先,在阅读<深入理解Nginx模块>后,大体了解了配置反向代理服务器一些常见的配置.如下进行说明:” l Nginx worker进程个数 语法: worker_processes n ...
- [原创]标记下Kendo使用中的问题, 持续更新中ing.....
使用kendo UI 遇到的问题: 1. Kendo DropdownList 加载完毕后, 显示 [object object]的问题: 解决: 尝试了添加dataTextField.dataVal ...
- Neural Network Virtual Machine
深度学习Stack 为什么提出NNVM? 深度学习框架现状 - “碎片化” 目前,深度学习应用框架呈现出高度的“碎片化(fragmentation)”倾向,这主要是由于下述两个原因: 1. 深度学习正 ...
- 爬虫之Selenium 动态渲染页面爬取
Selenim 是一个自动化测试工具,可以利用它驱动浏览器执行特定的动作,如点击.下拉等操作,同时可以获取浏览器当前呈现的页面的源代码,做到可见及可爬 1.使用流程 1)声明浏览器对象 Seleniu ...
- UGUI脚本添加Btn回调的方法
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; ...
- 接口测试之——Charles抓包及常见问题解决(转载自https://www.jianshu.com/p/831c0114179f)
简介 Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的.该软件是用Java写的,能够在Windows,Mac,Linux上使用,安装Charl ...
- step_by_step_记录那些在VS上使用过的工具
Visual Studio: Any Developer, Any App, Any Platform 在.NET 平台做开发,强大的VS让人爱不释手.刚刚接触.NET平台的时候,去网上寻找开发工具 ...
- 如何修复“网络路径”,错误代码0x80070035
1.以管理员权限 运行 cmd. sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi回车sc.exe config mrxsmb20 ...