栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

day08

Java 更新时间:发布时间: 百科书网 趣学号
1 final和static关键字 1.1 final关键字
•final关键字是最终的意思,可以修饰类,成员变量,成员方法。
–修饰类,类不能被继承
public final class Father {...}
–修饰变量,变量就变成了常量,只能被赋值一次
public final int age = 20; 
–修饰方法,方法不能被子类重写
public final void method() {...} 子类无法重写method方法
1.2 static关键词
static:是一个关键字,静态的意思。可以用来修饰成员变量和成员方法。
static修饰成员的特点:
	A:被类的所有对象共享。其实也是判断一个成员是否应该用static修饰的条件。
 	B:可以通过类名直接访问
	C:优先于对象存在
	D:随着类的加载而加载
1.2.1 static成员变量
public class Student {
	public String name;
	public int age;
	public static String graduateFrom; //毕业院校
	public void show() {
		System.out.println(name+"---"+age+"---"+graduateFrom);
	}
}
public static void main(String[] args) {
		Student.graduateFrom = "传智学院"; //通过类名直接访问;优先于对象存在
		Student s = new Student(); 
		s1.name = "林青霞";
		s1.age = 30;
		s1.show();//林青霞---30--- "传智学院"
		Student s2 = new Student();
		s2.name = "刘德华";
		s2.age = 28;
		s2.show();//刘德华---28--- "传智学院"
1.2.2 static方法的访问特点及注意事项
非静态的成员方法:
	能访问静态的成员变量
	能访问非静态的成员变量
	能访问静态的成员方法
	能访问非静态的成员方法
	
静态的成员方法:
	能访问静态的成员变量
	能访问静态的成员方法

注意事项:
	1、静态成员方法中不能出现this,super这样的关键字。原因是:静态是随着类的加载而加载,
	this,super这样的关键字是随着对象的创建而存在。
	先进内存的,不能访问后进内存的。
2 抽象类 2.1 概述

一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类。

public abstract class Animal {
//动物本身并不是一个具体的事物,而是一个抽象的事物。
//只有真正的猫,狗才是具体的动物。
	//抽象方法
	public abstract void eat(); 
	//不同的动物吃的东西应该是不一样的,
	//所以,我们不应该在动物类中给出具体体现,
	//而是应该给出一个声明即可。
}
2.2 特点
A:抽象类和抽象方法必须使用abstract关键字修饰
B:抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
C:抽象类不能实例化,要想实例化参照多态的方式,通过子类对象实例化。
D:抽象类的子类:
	要么重写抽象类中的所有抽象方法
	要么是抽象类
2.3 抽象类的成员特点
成员变量:
	有成员变量,成员变量可以是变量,也可以是常量。
构造方法:
	有构造方法。用于子类访问父类数据的初始化。
成员方法:
	有成员方法,成员方法可以是抽象的,也可以是非抽象的。
	抽象方法:限定子类必须完成某些动作,父类有抽象方法,子类也必须有抽象方法
	非抽象方法:提高代码的复用性,通过继承实现
3 接口 3.1 概述

接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。

3.2 接口的特点
A:定义接口使用的是interface关键字
B:类和接口之间是实现关系,用implements关键字表示
C:接口不能实例化,参照多态的形式使用实现类来实例化。
D:接口的实现类:
 	要么重写接口中的所有的抽象方法
	要么是一个抽象类,因抽象类无法实例化,故这个策略无意义
//定义了一个跳高的接口
public interface Jumpping {
	//抽象方法
	public abstract void jump();
}
public class Cat implements Jumpping { //猫实现了接口
	@Override
	public void jump() {
		System.out.println("猫可以跳高了");
	}
}
3.3 接口的成员特点
成员变量:
	有成员变量,而且变量只能是常量。可以直接访问
	System.out.println(接口名.成员变量名)
	默认修饰符:public static final
构造方法:
	没有构造方法。实现类默认继承 Object(所有的类直接或间接继承该类)
成员方法:
	有成员方法,而且都是抽象的。
	默认修饰符:public abstract
3.4 类与类_类与接口_接口与接口的关系
类与类:
	继承关系,只能单继承,可以多层继承。
类与接口:
	实现关系,可以单实现,也可以多实现。
	还可以在继承一个类的同时实现多个接口。
接口与接口:
	继承关系,可以单继承,也可以多继承。
	public interface Sister extends Father,Mother{
	}
3.5 抽象类与接口的区别
A:成员区别
	抽象类:
		成员变量:可以是变量,也可以是常量
		构造方法:有
		成员方法:可以是抽象方法,也可以是非抽象方法
	接口:
		成员变量:只能是常量
		成员方法:只能是抽象方法
B:关系区别
	类与类:继承关系,只能单继承,可以多层继承
	类与接口:实现关系,可以单实现,也可以多实现
	接口与接口:继承关系,可以单继承,也可以多继承
C:设计理念的区别
	抽象类 被继承体现的是:"is a"	抽象类中定义的是继承体系的共性功能.如猫 is an animal
	接口 被实现体现的是:"like a"  接口中定义的是该体系的扩展功能,如猫 like a jumpper
4 包 4.1 包的概述和注意事项
 包:其实就是文件夹。包的作用就是对类进行分类管理。
举例:
	学生:增加,删除,修改,查询
	老师:增加,删除,修改,查询
方案1:按照功能分
	com.itheima.add
		AddStudent
		AddTeacher
	com.itheima.delete
		DeleteStudent
		DeleteTeacher
方案2:按照模块分
	com.itheima.student
		AddStudent
		DeleteStudent
	com.itheima.teacher
		AddTeacher
		DeleteTeacher
包的定义格式:
	package 包名;如果是多级包用.隔开即可
注意事项:
	A:package必须是程序的第一条可执行语句
	B:package语句在一个java文件中只能有一个
4.2 导包
import 包名;
5 四种权限修饰符的概述和访问特点

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/273809.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号