zoukankan      html  css  js  c++  java
  • java学习笔记(6)

    java基础知识:

    1:形式参数和返回值的问题
    	(1)形式参数:
    		类名:需要该类的对象
    		抽象类名:需要该类的子类对象
    		接口名:需要该接口的实现类对象
    	(2)返回值类型:
    		类名:返回的是该类的对象
    		抽象类名:返回的是该类的子类对象
    		接口名:返回的是该接口的实现类的对象
    	(3)链式编程
    		对象.方法1().方法2().......方法n();
    		
    		这种用法:其实在方法1()调用完毕后,应该返回一个对象;
    			      方法2()调用完毕后,应该返回一个对象。
    				  方法n()调用完毕后,可能是对象,也可以不是对象。
    				  
    2:包
    	(1)其实就是文件夹
    	(2)作用:
    		A:区分同名的类
    		B:对类进行分类管理
    			a:按照功能分
    			b:按照模块分
    	(3)包的定义
    		package 包名;
    		
    		多级包用.分开。
    	(4)注意事项:
    		A:package语句必须在文件中的第一条有效语句
    		B:在一个java文件中,只能有一个package
    		C:如果没有package,默认就是无包名
    	(5)带包的编译和运行
    		A:手动式
    		B:自动式
    			javac -d . HelloWorld.java
    			
    3:常见的修饰符
    	(1)分类:
    		权限修饰符:private,默认,protected,public
    		状态修饰符:static,final
    		抽象修饰符:abstract
    	(2)常见的类及其组成的修饰
    		类:
    			默认,public,final,abstract
    			
    			常用的:public
    		
    		成员变量:
    			private,默认,protected,public,static,final
    			
    			常用的:private
    			
    		构造方法:
    			private,默认,protected,public
    			
    			常用的:public
    		
    		成员方法:
    			private,默认,protected,public,static,final,abstract
    			
    			常用的:public
    	(3)另外比较常见的:
    		public static final int X = 10;
    		public static void show() {}
    		public final void show() {}
    		public abstract void show();
    		
    4:内部类
    	(1)把类定义在另一个类的内部,该类就被称为内部类。
    		举例:把类B定义在类A中,类B就被称为内部类。
    	(2)内部类的访问规则
    		A:可以直接访问外部类的成员,包括私有
    		B:外部类要想访问内部类成员,必须创建对象
    	(3)内部类的分类
    		A:成员内部类
    		B:局部内部类
    	(4)成员内部类
    		A:private 为了数据的安全性
    		B:static 为了访问的方便性
    		
    		成员内部类不是静态的:
    			外部类名.内部类名 对象名 = new 外部类名.new 内部类名();
    		成员内部类是静态的:
    			外部类名.内部类名 对象名 = new 外部类名.内部类名();
    		class Outer {
    			public int num = 10;
    			
    			class Inner {
    				public int num = 20;
    				
    				public void show() {
    					int num  = 30;
    					
    					System.out.println(num);
    					System.out.println(this.num);
    					System.out.println(Outer.this.num);
    				}
    			}
    		} 显示结果是 30 20 10
    	
    	(5)局部内部类
    		A:局部内部类访问局部变量必须加final修饰。
    		B:为什么呢?
    			因为局部变量使用完毕就消失,而堆内存的数据并不会立即消失。
    			所以,堆内存还是用该变量,而该变量已经没有了。
    			为了让该值还存在,就加final修饰。
    			通过反编译工具我们看到了,加入final后,堆内存直接存储的是值,而不是变量名
    		
    	(6)匿名内部类
    		A:是局部内部类的简化形式
    		B:前提
    			存在一个类或者接口
    		C:格式:
    			new 类名或者接口名() {
    				重写方法;
    			}
    		D:本质:
    			其实是继承该类或者实现接口的子类匿名对象
    	(7)匿名内部类在开发中的使用
    		我们在开发的时候,会看到抽象类,或者接口作为参数。
    		而这个时候,我们知道实际需要的是一个子类对象。
    		如果该方法仅仅调用一次,我们就可以使用匿名内部类的格式简化
    				  
    

    java编程小题:

    n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位

     1 import java.util.Scanner;
     2 public class example{
     3     public static void main(String[] args){
     4         System.out.print("请输入一个整数:");
     5         Scanner scan = new Scanner(System.in);
     6         int n = scan.nextInt();
     7         scan.close();
     8         
     9         boolean[] isIn = new boolean[n];
    10         for(int i=0; i < isIn.length; i++)
    11         {
    12             isIn[i] = true;
    13         }
    14         
    15         int inCount = n;
    16         int countNum = 0;
    17         int index = 0;
    18         while(inCount > 1)
    19         {
    20             if(isIn[index]){
    21                 countNum++;
    22                 if(countNum == 3){
    23                     countNum = 0;
    24                     isIn[index] = false;
    25                     inCount--;
    26                 }
    27             }
    28             index++;
    29             if(index==n)
    30               index = 0;
    31         }
    32         for(int i=0;i<n;i++)
    33           if(isIn[i])
    34             System.out.println("留下的是:"+(i+1));
    35     }
    36 }

      

  • 相关阅读:
    redis发布订阅
    redis学习笔记(面试题)
    redis安全 (error) NOAUTH Authentication required
    HDU3001 Travelling —— 状压DP(三进制)
    POJ3616 Milking Time —— DP
    POJ3186 Treats for the Cows —— DP
    HDU1074 Doing Homework —— 状压DP
    POJ1661 Help Jimmy —— DP
    HDU1260 Tickets —— DP
    HDU1176 免费馅饼 —— DP
  • 原文地址:https://www.cnblogs.com/aixzhi/p/7384925.html
Copyright © 2011-2022 走看看