网站开发的硬件环境要求,网页制作心得2000字,广州建设网站,推荐大良营销网站建设1 包
包是用来分门别类的管理各种不同类的#xff0c;类似于文件夹、建包利于程序的管理和维护。建包语句必须在第一行建包的语法格式#xff1a;package 公司域名倒写.项目名称。包名建议全部小写相同包下的类可以直接访问#xff0c;不同包下的类必须导包#xff0c;才可…1 包
包是用来分门别类的管理各种不同类的类似于文件夹、建包利于程序的管理和维护。建包语句必须在第一行建包的语法格式package 公司域名倒写.项目名称。包名建议全部小写相同包下的类可以直接访问不同包下的类必须导包才可以使用。假如一个类中需要用到两个类名称一样的类那么默认只能导入一个类另一个类需要带包名访问导包格式import 包名.类名
2 权限修饰符
权限修饰符用来控制一个成员能够被访问的范围可以修饰成员变量、方法、构造器、内部类不同权限修饰符修饰的成员能够被访问的范围将受到相应的限制权限修饰符的范围private缺省protectedpublic
修饰符同一个类中同一个包中的其它类不同包下的子类不同包下的无关类private√缺省√√protected√√√public√√√√ 定义成员方法、成员变量、构造器等一般满足如下要求 成员变量一般私有方法一般公开如果该成员只希望本类访问用private访问如果该成员只希望本类的同一个包下的其他类和子类访问使用protected修饰 3 final关键字
final关键字是最终的意思可以修饰方法、变量、类
final修饰方法表明该方法是最终方法不能被重写final修饰变量表明该变量第一次赋值后不能再次被赋值有且仅能被赋值一次final修饰类表明该类是最终类不能被继承
final修饰的变量是基本类型那么变量存储的数据值不能发生改变final修饰的变量是引用数据类型那么变量存储的地址值不能发生改变但是地址指向的对象内容是可以发生变化的但是数值可以变化
4 常量
常量是使用了public static final修饰的成员变量而且执行的过程中其值不能被改变常量的作用和好处可以做系统的配置信息方便程序维护同时也能提高可读性
// 常量命名规范英文字母全部大写多个单词下划线相连
public static final String PASS_WORD 123; 常量的执行原理 在编译阶段会进行“宏替换”把使用常量的地方全部替换成真实的字面量好处让使用常量的程序的执行性能与直接使用字面量是一样的 选择常量做信息标志和分类代码可读性好实现了软编码形式
5 枚举
枚举类都是继承了枚举类型java.lang.Enum枚举都是最终类不可以被继承枚举类的构造器都是私有的枚举对外不能创建对象。
public static void main(String[] args) {Season s1 Season.AUTUMN;Season s2 Season.WINTER;// 但是不能创建对象//Season s new Season();}
// 枚举的第一行默认都是罗列枚举对象的名称
enum Season{SPRING, SUMMER, AUTUMN, WINTER;
}
编译后
public final class Season extends java.lang.EnumSeason{public static final Season SPRING new Season();public static final Season SUMMER new Season();public static final Season AUTUMN new Season();public static final Season WINTER new Season();public static Season[] values();public static Season valueOf(java.lang.String);
}
6 抽象类
在Java中abstract是抽象的意思如果一个类中的某个方法的具体实现不能确定就可以申明为abstract修饰的抽象方法不能写方法体这个类必须用abstract修饰被称为抽象类。
// 抽象类
public abstract class Animal{// 抽象方法public abstract void run();
}
抽象类作用可以被子类继承让子类来实现方法的具体功能充当模板同时也可以提高代码复用样式只有方法签名没有方法体使用abstract修饰一个类如果继承了抽象类必须重写完抽象类中的全部抽象方法如果不能则这个类也得改为抽象类 得到了抽象方法但是抽象类不能创建对象因为若可以创建对象了就可以用里面方法但是又没有方法体类的成员成员变量、方法、构造器抽象类都具备不能用abstract修饰变量、代码块、构造器 7 接口
接口只能定义常量和抽象方法接口不能实例化就是不能在别的地方new该接口
public interface Student{// 常量// public static final String NAME ABC;// 会默认加上public static final// 下面和上面一样String NAME ABC;// 2 抽象方法// 默认加上public abstract//public abstract void score();void score();
}
接口时用来被类实现(implements)的实现接口的类被称为实现类。实现类可以理解为子类
修饰符 class 实现类 implements 接口1接口2....{}
一个类实现接口必须重写完接口的全部抽象方法否则这个类需要定义为抽象类
类和类单继承类和接口多实现接口和接口多继承一个接口可以同时继承多个接口
jdk8之后的新增功能默认方法静态方法
jdk9新增功能私有方法必须在接口内部才能访问
public interface PeopleInter{// 必须default修饰默认用public权限// 1 默认方法接口不能创建对象这个方法只能给实现类由实现类的对象调用default void score(){System.out.println(100分)// 3 的私有方法可以在这调用graduation();}// 2 静态方法必须使用static修饰默认public权限// 必须接口名调用不能实现类调用public static void queryScore(){System.out.println(查询科目分数为满分)}// 3 私有方法接口内部才能访问private void graduation(){System.out.println(恭喜您毕业啦)}
}// ------------------------------------class Student implements PeopleInter{
}// class Test{public static void main(String[] args){Student s new Student();s.score();// 静态方法接口名调用PeopleInter.queryScore();}
} 注意事项 接口不能创建对象一个类实现多个接口多个接口中有同样的静态方法不冲突因为静态方法只能接口名调用一个类继承了父类同时又实现了接口父类和接口中又重名的方法默认用父类的一个类实现了多个接口多个接口中存在同名的默认方法不冲突这个类重写该方法即可一个接口继承多个接口没有问题但是若多个接口中存在规范冲突则不能多继承