Java中的继承
Java 继承继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承可以理解为一个对象从另一个对象获取属性的过程。
如果类A是类B的父类,而类B是类C的父类,我们也称C是A的子类,类C是从类A继承而来的。在Java中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类
继承中最常使用的两个关键字是extends和implements。
这两个关键字的使用决定了一个对象和另一个对象是否是IS-A(是一个)关系。
通过使用这两个关键字,我们能实现一个对象获取另一个对象的属性。
所有Java的类均是由java.lang.Object类继承而来的,所以Object是所有类的祖先类,而除了Object外,所有类必须有一个父类。
通过过extends关键字可以申明一个类是继承另外一个类而来的,一般形式如下:
12345678910111213// A.javapublic class A { private int i; protected int j; public void func() { }} / ...
Java 重写(Override)与重载(Overload)
重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 在面向对象原则里,重写意味着可以重写任何现有方法。实例如下: class Animal{
public void move(){ System.out.println(“动物可以移动”); }}
class Dog extends Animal{
public void move(){ System.out.println(“狗可以跑和走”); }}
public class TestDog{
public static void main(String args[]){ Animal a = new Animal(); // Animal 对象 Animal b = new Dog(); ...
Java中的多态
Java 多态 多态是同一个行为具有多个不同表现形式或形态的能力。 多态性是对象多种表现形式的体现。 比如我们说"宠物"这个对象,它就有很多不同的表达或实现,比如有小猫、小狗、蜥蜴等等。那么我到宠物店说"请给我一只宠物",服务员给我小猫、小狗或者蜥蜴都可以,我们就说"宠物"这个对象就具备多态性。 接下来让我们通过实例来了解Java的多态。 例子 public interface Vegetarian{}
public class Animal{}
public class Deer extends Animal implements Vegetarian{}
因为Deer类具有多重继承,所以它具有多态性。以上实例解析如下: 一个 Deer IS-A(是一个) Animal 一个 Deer IS-A(是一个) Vegetarian 一个 Deer IS-A(是一个) Deer 一个 Deer IS-A(是一个)Object 在Java中,所有的对象都具有多态性,因为任何对象都能通过IS-A测试的类型和O ...
PHP中的输出语句对比
通过前面的学习了解了php的基本语法,今天向大家简单介绍php的几种输出方式:
echo 常用的输出语句,例如:echo ‘helloworld!’;
print() 输出语句,有返回值。例如:print(‘helloworld!’); 输出成功返回1,失败返回0。
printf(); 格式化输出字符串。例如:printf(“%d,%f”,12,12.3);
print_r(); 输出数组、对象等复合数据类型。例如:print_r($array);
var_dump(); 可以判断一个变量的类型与长度,并输出变量的数值。例如:var_dump(‘helloworld!’);
sprintf 函数也用做字符串格式化。例如: $formatted = sprintf ( “%01.2f “, ‘123.1’ ) ;
为方便我们的记忆,先对这几种不同的输出方式做个对比。
echo - 可以输出一个或多个字符串
print - 只能输出简单类型变量的值,如int,string
print_r - 可以输出复杂类型变量的值,如数组,对象
printf -函数 ...
python中文件变化监控
起步在python中文件监控主要有两个库,一个是pyinotify,一个是watchdog。pyinotify依赖于Linux平台的inotify,后者则对不同平台的的事件都进行了封装。因为我主要用于Windows平台,所以下面着重介绍watchdog(推荐大家阅读一下watchdog实现源码,有利于深刻的理解其中的原理)。watchdog在不同的平台使用不同的方法进行文件检测。在init.py中发现了如下注释:
12345|Inotify| Linux 2.6.13+ ``inotify(7)`` based observer|FSEvents| Mac OS X FSEvents based observer|Kqueue| Mac OS X and BSD with kqueue(2) ` ...
在ubuntu下安装mysql数据库
Ubuntu是一个比较流行的Linux操作系统,不仅简单易用,而且和Windows相容性非常好。那么在ubuntu下如何安装mysql数据库呢?在Ubuntu上安装mysql数据库,一般分为两种方法,分别是使用Ubuntu Software Center或者apt命令来安装,而且过程都相对比较简单。
1、使用Ubuntu Software Center安装
打开Ubuntu Software Center,在右上角的搜索框查询mysql,然后选定MySQL Server,点击安装即可。
2、使用apt命令安装
打开终端执行 ”sudo apt-get install mysql-server“ 即可。
MySQL初始配置
在成功安装mysql后,可以直接使用root账户登录,注意这个账户是默认没有密码的。因此为了数据库的安全,需要第一时间给root用户设置密码。
mysql> GRANT ALL PRIVILEGES ON *.* TO root@localho ...
mysql修改密码方法
在windows系统中,mysql修改密码的方法还是比较多的。本文就为大家介绍四种MySQL修改root密码的方法。方法一:用SET PASSWORD命令修改
首先登陆mysql,一般命令格式为:mysql> set password for 用户名@localhost = password('新密码');
例子:
mysql> set password for root@localhost = password('123'); 方法二:用mysqladmin修改
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:
mysqladmin -uroot -p123456 password 123 这个命令就是讲uroot这个用户的密码由p123456改成了123
方法三:用UPDATE直接编辑user表
首先登陆mysql
mysql> use mysql;
mysql> update ...
MySQL分页查询方法及优化
当数据库的数据量很大时,一次性查询结果就会变得很慢,为了提高查询效率,我们可以使用MySQL的分页查询功能。本文就为大家带来MySQL分页查询方法及优化。
推荐阅读:21分钟MySQL入门教程MySQL完整教程
分页查询方法:
在MySQL中,分页查询一般都是使用limit子句实现,limit子句声明如下:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
LIMIT子句可以被用于指定 SELECT 语句返回的记录数。需注意以下几点:
1、第一个参数指定第一个返回记录行的偏移量
2、第二个参数指定返回记录行的最大数目
3、如果只给定一个参数:它表示返回最大的记录行数目
4、第二个参数为 -1 表示检索从某一个偏移量到记录集的结束所有的记录行
5、初始记录行的偏移量是0(而不是 1)
下面是一个应用实例:select * from orders_history where type=8 limit 1000,10;
该条语句将会从表 ...
MySQL中交集和差集
在MySQL中,只支持Union(并集)集合运算,而对于交集Intersect和差集Except并不支持。那么如何才能在MySQL中实现交集和差集呢?
一般在MySQL中,我们可以通过in和not in来间接实现交集和差集,当然也有一定局限性,面对少量数据还可以,但数据量大了效率就会变得很低。
创建table1/*DDL 信息*/------------
CREATE TABLE `t1` (
`id` int(11) NOT NULL,
`name` varchar(20) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
创建table2/*DDL 信息*/------------
CREATE TABLE `t2` (
`id` int(11) NOT NULL,
`name` varchar(20) DEFAULT NULL,
` ...
几个优秀的mysql管理工具与应用程序推荐
对于开发人员来说,mysql管理工具可以说是必不可缺的,它能帮助开发人员在许多方面支持包括PostgreSQL、MySQL、Redis、MongoDB等在内的多种数据库;同时还能提供包括触发器、事件、视图、数据备份、对象结构等多种功能。本文帮大家整理了15款优秀的MySQL管理工具和应用软件,大家可以从中选择一个,从而帮助你轻松快速完成工作。
1. Induction
Induction是一款用于理解数据关系的开源管理工具,它可用来探索行/列,运行查询和数据可视化等方面。该工具支持PostgreSQL、MySQL、SQLite、Redis及MongoDB等数据库。此外,Induction还可以通过编写添加其他新的适配器。
2. Pinba
Pinba 是一种MySQL存储引擎,其功能在于PHP实时监控和数据服务器的MySQL只读接口。它会对通过UDP发送的数据进行整理和处理整,并将多个PHP进程通过可读的简单报告的形式加以统计显示。为了获取下一代更为复杂的报告和统计数据,Pinba提供了原始数据的只读接口。
3. DB Ninja
Db ...