• 第五周课程总结&试验报告(三)


    第五周课程总结:
    这一周学了很多知识,如下:
    一、继承:
    继承,顾名思义,就是“子承父业”,在Java里面就是子类继承父类的属性,构造方法等等,这其中最重要的就是extends关键词了,可以用它来实现继承,继承的基本格式:

    class Student extends Person
    

    子类只有一个父类,但是父类可以有多个子类,因为在Java中只允许单继承,不能使用多重继承,extends关键词也可以实现继承,但它本意是拓展,与其说是继承,不如是一个类拓展已有类的功能,又称派生类。
    子类不能直接访问父类中私有操作,但可以通过其他操作间接访问。

    二、方法覆写与重载的区别
    覆写的单词为:Overriding,重载的单词是:Overloading;重载的方法名称相同,但参数的类型或个数不同,覆写的所有方法名称,参数类型,返回值类型全部相同;被覆写的方法不能拥有更严格的权限;重载是发生在一个类中,而覆写是发生在继承类中。

    三、super关键词
    super可以从子类中调用父类的构造方法、普通方法、属性。super与this一样,都是要放在构造方法首行。
    super与this非常相似,但还是存在很大的区别
    在访问方法和属性时,this是先访问本类,如果没有则去父类中继续查找,而super是直接访问父类;在调用构造方法是,this必须放在构造方法首行,而使用super必须放在子类构造方法首行。

    四、final关键词
    final是结束的意思,所有final就是说明此类不能被继承了就是没有子类了,在使用final声明变量时,要求全部字母大写!

    五、抽象类:
    抽象类的作用就是比普通类多了一些抽象方法:

    abstract class 抽象类名称{
            属性;
            访问权限  返回值类型  方法名称(参数){                               //普通方法
                [return 返回值];
    }
         访问权限  abstract  返回值类型  方法名称(参数);                    //抽象方法
    
    }
    

    其中可以得知抽象类和抽象方法都需要使用abstract关键词声明,抽象方法只需要声明,而不用实现,抽象类必须被子类继承,子类必须覆写抽象类中的全部抽象方法

    六、对象的多态性
    在Java中对象主要以方法的重载与覆写和对象的多态性体现,
    多态性主要分为向上转型和向下转型,向上转型是子类对象转向父类对象,向下转型则相反,在这其中在发生向下转型之前必须先发生向上转型,不然将会出现对象转换异常。

    试验报告(三)
    一、已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)
    1.统计该字符串中字母s出现的次数。

    package 作业;
    
    public class Java1 {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		String str=new String("this is a test of java");
    		char c[]=str.toCharArray();
    		int count =0;
    		for(int i=0;i<c.length;i++) {
    			if(c[i]=='s') {
    				count++;
    				}
    			
    }
    System.out.println("s个数:"+count);
    	}
    	}
    

    截图:

    2.统计该字符串中子串“is”出现的次数。

    package 作业;
    
    public class Java3 {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		String str=new String("this is a test of java");
    		int count=0;
    		int i=0;
    		while(str.indexOf("is",i)!=-1){
    			count++;
    			i=str.indexOf("is",i)+1;
    			
    		}
    		System.out.println("is个数:"+count);
    
    	}
    
    }
    

    截图:

    3.统计该字符串中单词“is”出现的次数。

    package 作业;
    
    public class Java4 {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		String str="this is a test of java";
    		int count=0;
    		
    		String[] c=str.split(" ");
    		for(String e:c) {
    			if(e.equals("is")) {
    				count++;
    			}
    		}
    		System.out.println("is作为字串出现的次数:"+count);
    	}
    
    }
    
    

    截图:

    4.实现该字符串的倒序输出。

    package 作业;
    
    public class Java5 {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    
    
    				StringBuffer str=new StringBuffer();
    				str.append("this is a test of java");
    				System.out.print("倒序:"+str.reverse());
    
    
    	}
    
    }
    

    截图:

    二、请编写一个程序,使用下述算法加密或解密用户输入的英文字串。要求源代码、结果截图。

    package 作业1;
    
    import java.util.Scanner;
    
    public class Java {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		int j=0,i=0;
    		System.out.println("输入一个字符串:");
    		Scanner sc=new Scanner(System.in);
    		String str=sc.nextLine();
    		char c[]=str.toCharArray();
    		char[] c1=null;
    		c1=new char[str.length()];                        
    		for(i=c.length-3;i<c.length;i++) {
    			c1[j]=c[i];
    			j++;
    		}
    		for(i=0;i<c.length-3;i++) {
    			c1[j]=c[i];
    			j++;
    		}
    		System.out.print("加密后:");
    		System.out.println(c1);
    
    
    	}
    
    }
    

    截图:

    三、已知字符串“ddejidsEFALDFfnef2357 3ed”。输出字符串里的大写字母数,小写英文字母数,非英文字母数。

    package 作业1;
    
    public class Java4 {
    	public static void main(String[] args) {
    		String str="ddejidsEFALDFfnef2357 3ed";
    		int c1=0,c2=0,c3=0;
    		char c[]=str.toCharArray();
    		for(int i=0;i<str.length();i++) {
    			if('A'<=c[i]&&c[i]<='Z') {
    				c1++;
    			}
    			else if('a'<=c[i]&&c[i]<='z') {
    				c2++;
    			}
    			else {
    				c3++;
    			}
    		}
    		System.out.println("大写字母数:"+c1);
    		System.out.println("小写字母数:"+c2);
    		System.out.println("非字母数:"+c3);
    	}
    
    }
    
    

    截图:

  • 相关阅读:
    蛙蛙推荐:蛙蛙教你配置linux+mysql+.net环境
    今日阅读20081231学习remoting
    翻译:改进.NET应用程序的性能和可伸缩性(一)概述及ADO.NET 性能
    翻译:改进.NET应用程序的性能和可伸缩性(二)为性能和可伸缩性做架构和设计上的Review
    蛙蛙推荐:作一个支持过载自适应和动态扩容的负载均衡服务
    翻译:改进.NET应用程序的性能和可伸缩性(三)Remoting性能
    清空日志后备份数据库
    CLR宿主相关
    每日阅读20081216
    iis 无法安装提示错误,无法复制一个或多个文件,错误码0x4b8 dodo
  • 原文地址:https://www.cnblogs.com/edg4396/p/11595175.html
Copyright © 2020-2023  润新知