电商网站的制作,职业生涯规划大赛优秀作品,关键词筛选工具,做app网站的公司JAVA自学笔记08 1、构造方法私有#xff0c;外界就不能再创建对象 2、说明书的制作过程 1#xff09;写一个工具类#xff0c;在同一文件夹下#xff0c;测试类需要用到工具类#xff0c;系统将自动编译工具类#xff1b;工具类的成员方法一般是静态的#xff0c;因此… JAVA自学笔记08 1、构造方法私有外界就不能再创建对象 2、说明书的制作过程 1写一个工具类在同一文件夹下测试类需要用到工具类系统将自动编译工具类工具类的成员方法一般是静态的因此在测试类中可直接通过 工具类名.方法名参数列表; 的方法来调用 2加入文档注释 文字作者、版本 param / return 3用工具解析文档注释javadoc 格式javadoc -d 目录名-author-version 工具类名.java 可创建未存在的目录 3、工具类配合说明书使用 1找到并打开文档 2点击显示找出索引找出搜索框 3观察该类的构造需不需要导包java.lang包下的类不需要导入等等 4观察类说明构造方法及成员方法和版本 成员变量 字段摘要 构造方法 构造方法摘要 成员方法静态返回值类型 方法摘要 有构造方法就创建对象没有构造方法可能就是静态的 5使用 例题1观察JAVA1.7API文档学习math类 例题2借助Math工具类编写猜数字程序 import java.util.Scanner;
public class Guess {public static void main(String[] args) {// TODO 自动生成的方法存根int num (int)( 100*Math.random()1);System.out.println(num);int i5;Scanner sc new Scanner(System.in);System.out.print(猜数字范围在0~100间);String s2 大了;String s3 小了;String s4 猜对了游戏结束;String s5 请输入数字;int xsc.nextInt();for(;x!numi0;i--) {if(xnum) {System.out.println(s2);System.out.println(s5);}if(xnum) {System.out.println(s3);System.out.println(s5);}xsc.nextInt();}if(xnum) {System.out.println(s4);}else {System.out.println(五次机会用完游戏结束);}}
} 3、代码块 1用{}括起来的代码 2可分为局部代码块、静态代码块、同步代码块、构造代码块 3局部代码块在方法中出现用于 限定变量生命周期及早释放提高内存利用率 4构造代码块在类中方法外类中的成员位置出现多个构造方法中 方法中相同的代码存放到一起每次调用构造方法时都执行但在main方法之后并且在构造方法前执行可以把多个构造方法的共同代码放到一起用于对对象进行初始化 5静态代码块在类中方法外类中的成员位置出现并加上static修饰即static{…}一般用于给类进行初始化在加载时就进行并且只进行一次 执行顺序5、4、构造方法与实际顺序无关 4、继承 1定义多个类子类、派生类中存在相同属性和行为时将这些内容抽取到单独一个类中只需继承那个类被称为父类、基类或超类即可 2通过extends关键字可以实现类与类的继承 class 子类名 extends 父类名{}; 3 提高代码的复用性、提高代码的维护性、使类与类间产生了关系是多态的前提 4弊端类的耦合性增强我们需要低耦合高内聚 5特点①JAVA中只支持单继承不支持多继承但它支持多层继承 6注意事项 ①子类只能继承父类所有的非私有的成员方法及变量 ②不要为了部分功能去继承一个类 ③子类不能继承父类的构造方法但是可以通过super关键字去访问父类构造方法 7使用继承的时机 8成员变量的关系 ①在子类方法中访问一个变量的查找顺序首先在子类的局部范围内查找有就使用接着在子类的成员范围找有就使用最后在父类的成员变量内寻找仅考虑单继承的情况其余同理类推 ②this和super的区别 %访问成员变量 this/super.成员变量 调用本类的成员变量/调用父类的成员变量 %调用构造方法 this(…) 调用本类的构造方法 super(…) 调用父类的构造方法 %调用成员方法 this.成员方法名 调用本类的成员方法 super.成员方法名 调用父类的成员方法 ③继承中构造方法的关系子类中所有的构造方法默认都会访问父类的无参构造方法 原因因为子类会继承父类中的数据可能还会使用父类的数据。所以子类初始化之前一定要先完成父类数据的初始化 子类的每一个构造方法的第一条语句默认为super(); ④继承中构造方法的注意事项 如果父类中没有无参构造即已给有参构造方法方法系统调用子类的构造方法将报错 解决方法解决方法在子类构造方法最前面加 super(参数列表); 来调用父类其他的带参构造方法即可 或者用子类通过this调用本类的其他构造方法来间接调用父类的带参构造方法 super(…)和this…必须放在第一句否则就会出现父类数据多次初始化的情况 ⑤一个类的初始化的过程默认初始化、显示初始化、构造方法初始化 例题3看程序写结果 class Father{
static{System.out.println(静态代码块Father);
}
{System.out.println(构造代码块Father);
}
public Father(){
System.out.println(构造方法Father);
}
}
class Son extends Father{
static{System.out.println(静态代码块Son);
}
{System.out.println(构造代码块Son);
}
public Father(){
System.out.println(构造方法Son);
}
}
class Demo{
Son s new Son();
} 执行结果为 静态代码块Father 静态代码块Son//加载类时执行 构造代码块Father 构造方法Father 构造代码块Son 构造方法Son 转载于:https://www.cnblogs.com/Tanqurey/p/10485326.html