接口
1. 概述
我们已经学完了抽象类,抽象类中可以有抽象方法,也可以有普通方法,构造器,成员变量等。那么什么是接口呢?接口是更加彻底的抽象,接口中全部是抽象方法。(JDK8之前),接口同样是不能创建对象的。
2. 定义格式
12345678//接口的定义格式:修饰符 interface 接口名称{ // 抽象方法}// 修饰符:public|缺省// 接口的声明:interface// 接口名称:首字母大写,满足“驼峰模式”
3. 接口成分的特点
在JDK8之前,接口中的成分包含:抽象方法和常量
3.1 抽象方法
注意:接口中的抽象方法默认会自动加上public
abstract修饰程序员无需自己手写!!
按照规范:以后接口中的抽象方法建议不要写上public
abstract。因为没有必要啊,默认会加上。
3.2 常量
在接口中定义的成员变量默认会加上: public static
final修饰。也就是说在接口中定义的成员变量实际上是一个常量。这里是使用public
static
final修饰后,变量值就不可被修改,并且是静态化 ...
抽象类
1. 概述
1.1 抽象类引入
父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了(因为子类对象会调用自己重写的方法)。换句话说,父类可能知道子类应该有哪个功能,但是功能具体怎么实现父类是不清楚的(由子类自己决定),父类完全只需要提供一个没有方法体的方法签名即可,具体实现交给子类自己去实现。我们把没有方法体的方法称为抽象方法。Java语法规定,包含抽象方法的类就是抽象类。
抽象方法 : 没有方法体的方法。
抽象类:包含抽象方法的类。
2 abstract使用格式
abstract是抽象的意思,用于修饰方法和类,修饰的方法是抽象方法,修饰的类是抽象类。
2.1 抽象方法
使用abstract
关键字修饰方法,该方法就成了抽象方法,抽象方法只包含一个方法名,而没有方法体。
定义格式:
1修饰符 abstract 返回值类型 方法名 (参数列表);
代码举例:
1public abstract void run();
2.2 抽象类
如果一个类包含抽象方法,那么该类必须是 ...
引用类型使用小结
实际的开发中,引用类型的使用非常重要,也是非常普遍的。我们可以在理解基本类型的使用方式基础上,进一步去掌握引用类型的使用方式。基本类型可以作为成员变量、作为方法的参数、作为方法的返回值,那么当然引用类型也是可以的。
1.
引用类型作为方法参数和返回值
12345678910111213141516171819202122public class Person{ public void eat(){ System.out.println("吃饭"); }}public class Test{ public static void main(String[] args){ method(new Person()); Person p = createPerson(); } //引用类型作为方法参数 pubic static void method(Person p){ p.eat(); } //引用类型作 ...
static关键字
1. 什么是static关键字
在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块。
Java把内存分为栈内存和堆内存,其中栈内存用来存放一些基本类型的变量、数组和对象的引用,堆内存主要存放一些对象。在JVM加载一个类的时候,若该类存在static修饰的成员变量和成员方法,则会为这些成员变量和成员方法在固定的位置开辟一个固定大小的内存区域(只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们),有了这些“固定”的特性,那么JVM就可以非常方便地访问他们。
同时被static修饰的成员变量和成员方法是独立于该类的,它不依赖于某个特定的实例变量,也就是说它被该类的所有实例共享。所有实例的引用都指向同一个地方,任何一个实例对其的修改都会导致其他实例的变化。
123456789101112131415public class User { private static int userNumber = 0 ; public User(){ ...
String类
String的原理
由=创建的String对象,会存放在堆的字符串常量池中
比较方法
equals()类的,返回的是boolean值,比较的是字符串的内容 1234boolean equals(Object anObject);boolean contentEquals(StringBuffer sb);boolean contentEquals(CharSequence cs);boolean equalsIgnoreCase(String anotherString);
12boolean regionMatches(int toffset, String other, int ooffset,int len) //局部匹配boolean regionMatches(boolean ignoreCase, int toffset,String other, int ooffset, int len) //局部匹配
compareTo()类 12int compareTo(String anotherString);int compareToIgnoreCas ...
this关键字
this关键字的作用
this代表了当前对象的引用
this关键字可以用在实例方法和构造器中
this用在方法中,谁调用这个方法,this就代表谁
this用在构造器中,代表构造器正在初始化的那个对象的引用
1.
在方法中引用调用该方法的对象
this关键字最大的作用就是让类中的一个方法访问该类里的另一个方法或者实例变量。
假设定义了一个Person类,这个Person对象的eat()方法需要调用它的move()方法,则如何做呢?是否应该定义如下的Person类呢?
123456789101112131415161718public class Person { //定义一个move()方法 public void move(){ System.out.println("正在执行move()方法"); } //定义一个eat()方法,eat()方法需要借助move()方法 public void eat(){ Person p = new Pe ...
Java内部类
1. 内部类基础
在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。
1.1 成员内部类
成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式:
12345678910111213class Circle { double radius = 0; public Circle(double radius) { this.radius = radius; } class Draw { //内部类 public void drawSahpe() { System.out.println("drawshape"); } }}
这样看起来,类Draw像是类Circle的一个成员,Circle称为 ...
类的五大成分
类中有且仅有5大成分(五大金刚)
成员变量Field:描述类或者对象的属性信息的。
成员方法Method:描述类或者对象的行为的。
构造器(构造方法,Constructor): 初始化类的一个对象返回。
代码块:代码块按照有无static可以分为静态代码块和实例代码块。
内部类:将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。
1. 成员变量Field
在Java中对象的属性称为成员变量。为了了解成员变量,在下面的代码中首先定义一个图书类,成员变量对应于类对象的属性,在Book类中设置3个成员变量,分别为id,name和category,分别对应于图书编号,图书名称和图书类别3个图书属性。
1234567891011121314public class Book{ private String name; //定义一个String类型的成员变量 public String getName(){ //定义一个getName()方法 int id=0; //局部变量 setName=(& ...
面向对象的三大特征
1. 封装
1.1 封装的步骤
1.使用 private 关键字来修饰成员变量。
2.使用public修饰getter和setter方法。
1.2 封装的步骤实现
private修饰成员变量
1234public class Student { private String name; private int age;}
public修饰getter和setter方法
123456789101112131415161718192021222324public class Student { private String name; private int age; public void setName(String n) { name = n; } public String getName() { return name; } public void setAge(int a) { ...
MySQL基础
MySQL数据库基础
数据库的基本概念
数据库的英文:DataBase 简称:DB.
什么是数据库?
io 数据持久化 内存? txt
用来存储和管理数据的有结构和组织的仓库。其本质就是一个文件夹
数据库的特点:
1)可以进行数据的持久化操,其实数据库就是一个大的文件系统。
2)方便统一管理和存储数据
3)使用统一的方式进行数据库的操作和管理
常见的数据库
1) MySQL 数据库,期初是Sun公司开发的产品,后期Oracle
公司收够,是Oracle公司的产品,这款软件是开源。
MariaDB 完全免费
12345MySQL分社区版和商业版。社区版是免费的,商业版要收费。1、MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。2、MySQL Enterprise Edition 企业版本,需付费,可以试用30天。3、MySQL Cluster 集群版,开源免费。可将几个MySQL Server封装成一个Server。4、MySQL Cluster CGE 高级集群版,需付费。
...