对于方法的修饰词,子类方法要比父类的方法范围更加的宽泛

对于方法的修饰词,子类方法要比父类的方法范围更加的宽泛。

父类为public,那么子类为private则出现错误。

之所以构造方法先运行父类再运行子类是因为构造方法是无法覆盖的。

以下范围依次由严到宽:

private :本类访问;

default :表示默认,不仅本类访问,而且是同包可见。

Protected:同包可见+不同包的子类可见

Public :表示所有的地方均可见。

 

 

  1 package TomText;
  2 import java.util.Scanner;
  3 public class TomText_16 {
  4          // 检测给定的字符串是否为数字
  5          public boolean isNum(String str) {
  6           boolean isnum = false;
  7           if (str.matches("[0-9]+")) {
  8            System.out.println("您输入的是数字。");
  9            isnum = true;
 10           } else
 11            System.out.println("您输入的不是数字!");
 12           return isnum;
 13          }
 14          // 检测给定的字符串是否含有字母,数字和下划线
 15          public void hasSth(String str) {
 16           boolean hasnum = false;
 17           boolean haslet = false;
 18           StringBuffer sb = new StringBuffer("您输入的字符串中");
 19           if (str.contains("_")) {
 20            sb.append("含有‘_’,");
 21           } else
 22            sb.append("不含有‘_’,");
 23           for (int i = 0; i < 10; i++) {
 24            if (str.contains("" + i)) {
 25             hasnum = true;
 26             break;
 27            }
 28           }
 29           for (char let = 'a'; let <= 'z'; let++) {
 30            if (str.contains("" + let)) {
 31             haslet = true;
 32             break;
 33            }
 34           }
 35           if (!haslet) {
 36            for (char let = 'A'; let <= 'Z'; let++) {
 37             if (str.contains("" + let)) {
 38              haslet = true;
 39              break;
 40             }
 41            }
 42           }
 43           if (hasnum) {
 44            sb.append("含有数字,");
 45           } else {
 46            sb.append("不含有数字,");
 47           }
 48           if (haslet) {
 49            sb.append("含有字母。");
 50           } else {
 51            sb.append("不含有字母。");
 52           }
 53           System.out.println(sb);
 54          }
 55          // 检测给定的字符串是否为有效的日期格式(日期格式:2008-12-15)
 56          public boolean isdate(String str) {
 57           boolean flag = false;
 58           if (str.matches("^[0-9]{4}-[0-9]{2}-[0-9]{2}$")) {
 59            flag = true;
 60            System.out.println("您输入的是合法的日期。");
 61           } else
 62            System.out.println("您输入的不是公合法的日期!");
 63           return flag;
 64          }
 65          // 检测给定的字符串是否为有效的身份证号码格式
 66          public boolean isIdCard(String str) {
 67           boolean flag = false;
 68           if (str.length() == 18) {
 69            if (str.matches("[0-9]{18}")) {
 70             System.out.println("您输入的是合法的身份证号。");
 71             flag = true;
 72            } else {
 73             System.out.println("您输入的不是合法的身份证号!");
 74            }
 75           } else if (str.length() == 21) {
 76            if (str.matches("[0-9]{21}")) {
 77             System.out.println("您输入的是合法的身份证号。");
 78             flag = true;
 79            } else if (str.matches("[0-9]{20}x")) {
 80             System.out.println("您输入的是合法的身份证号!");
 81            } else {
 82             System.out.println("您输入的不是合法的身份证号!");
 83            }
 84           } else {
 85            System.out.println("您输入的不是合法的身份证号!");
 86           }
 87           return flag;
 88          }
 89          // 返回一个随机的6位字符串(该字符串只含有数字和字母)
 90          public void getradom() {
 91           StringBuffer str = new StringBuffer("");
 92           String from = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
 93           for (int i = 0; i < 6; i++) {
 94            int radom = (int) (from.length() * Math.random());
 95            str.append(from.charAt(radom));
 96           }
 97           System.out.println(str);
 98          }
 99          /**
100           * @param args
101           */
102          public static void main(String[] args) {
103              TomText_16 ot = new TomText_16();
104           Scanner in = new Scanner(System.in);
105           System.out.println("请输入字符串,检查是否为数字:");
106           String str = in.nextLine();
107           ot.isNum(str);
108           System.out.println();
109           System.out.println("请输入字符串,检查是否含有字母,数字和下划线:");
110           String str1 = in.nextLine();
111           ot.hasSth(str1);
112           System.out.println();
113           System.out.println("请输入字符串,检查是否为有效的日期格式(日期格式:2008-12-15):");
114           String str2 = in.nextLine();
115           ot.isdate(str2);
116           System.out.println();
117           System.out.println("请输入字符串,检测给定的字符串是否为有效的身份证号码格式:");
118           String str3 = in.nextLine();
119           ot.isIdCard(str3);
120           System.out.println();
121           System.out.println("以下是随机得到的6位字符串:");
122           ot.getradom();
123          }
124     
125 }

 

posted @ 2018-08-04 14:34  borter  阅读(820)  评论(0编辑  收藏  举报