一,跟封装相关的知识点(重点) 
 1.构造方法 
  作用: 
   给对象的成员变量(属性)进行初始化 
  格式特点: 
   public Student() { 
   } 
   a.方法名与类名相同(大小也要与类名一致) 
   b.没有返回值类型,连void都没有 
   c.没有具体的返回值,可以加return;但是一般不加 
   d.在创建对象的时候,系统会帮我们调用构造方法.构造方法不能使用对象调用 
  构造方法重载: 
   public Student() { 
   } 
   public Student(String name,int age) { 
   } 
   重载: 
    方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表 
   注意事项: 
    a.如果我们没有给出构造方法,系统会自动提供一个无参构造方法. 
    b.如果我们给出了构造方法,系统将不再提供默认的无参构造方法. 
    c.建议永远自己给出无参构造方法.eclipse可以一键生成. 
 2.构造方法和setXxx()方法区别 
  a.构造方法是给对象中属性进行初始化 
  b.setXxx()方法是修改属性值  
  c.使用构造方法,属性太多会非常臃肿,难以阅读(超过4个一般不推荐使用) 
  d.使用setXxx()方法更灵活(想设置哪个就设置哪个), 
  开发中更多得使用这种,也是主流(Spring框架采用). 
 3.创建一个对象的步骤 
  Student s = new Student(); 
  a.Student.class加载进内存 
  b.声明一个Student类型引用s 
  c.new Student();在堆内存创建对象 
  d.给对象中属性默认初始化值 
  e.如果有显示初始化值,进行显示初始化 
  f.构造方法进栈,对对象中的属性赋值,构造方法弹栈 
  g.将对象的地址值赋值给Student类型引用s 
 4.static关键字 
  static的作用: 
   资源共享. 
  什么时候使用static关键字? 
   当一个内容,被该类下所有对象所共享的时候,咱们就能考虑使用static. 
  特点: 
   a.随着类的加载到方法区(不会随对象消失) 
   b.优先于对象存在:随着字节码文件的加载而加载的,那时候还没有对象呢! 
   c.被类的所有对象共享(最重要的特点) 
    举例: 
     咱们班级的学生应该共用同一个班级编号(静态) 
     但是每位同学都有自己唯一的学号(非静态) 
   d.可以通过类名调用,Person.country,不用创建对象(推荐) 
  注意事项: 
   a.在静态方法中是没有this关键字的 
    (因为this指的是一个具体的对象,而静态在加载到内存时还没有具体的对象) 
   b.静态方法只能(直接)访问静态的成员变量和静态的成员方法 
   总结: 
    静态只能直接访问静态 
    静态方法如果想使用非静态的内容,必须先创建对象,再使用(了解,一般没人这么干) 
   class Demo { 
    int num1 = 10;   //非静态的成员变量 
    static int num2 = 20;  //静态的成员变量 
    public static void print2() {  //静态的成员方法 
     //System.out.println(this.num1);  //静态方法不能直接访问非静态变量 
     System.out.println(new Demo().num1);//通过创建对象间接访问非静态变量 
     System.out.println(num2); 
    } 
   } 
 5.静态变量和成员变量的区别 
  静态变量也叫类变量,成员变量也叫对象变量 
  a.所属不同 
   静态变量属于类,所以也称为为类变量 
   成员变量属于对象,所以也称为实例变量(对象变量) 
  b.内存中位置不同 
   静态变量存储于方法区的静态区 
   成员变量存储于堆内存 
  c.内存出现时间不同(生命周期) 
   静态变量随着类的加载而加载,随着类的消失而消失 
   成员变量随着对象的创建而存在,随着对象的消失而消失 
  d.调用不同 
   静态变量可以通过类名调用,也可以通过对象调用 
   成员变量只能通过对象名调用 
  
二,如何使用及制作帮助文档(了解) 
 1.main方法格式详细解释 
  public : 被jvm调用,所以权限要足够大. 
  static : 被jvm调用,不需要创建对象,直接类名.调用即可 
  void : 被jvm调用,不需要有任何的返回值 
  main : 只有这样写才能被jvm识别,main不是关键字 
  String[] args : 以前是用来接收键盘录入的 ,args是唯一可以修改的 
   
 2.工具类中使用静态 
  如果一个类中的方法都是静态的,需要自己写一个私有的构造方法.防止他人创建对象. 
 3.说明书的制作过程 
   javadoc -d 指定的文件目录 -author -version ArrayTool.java 
  @author(提取作者内容) 
  @version(提取版本内容) 
  @param 参数名称//形式参数的变量名称 
  @return 函数运行完返回的数据 
 3.Math类 
  由于Math类在java.lang包下,所以不需要导包 
  因为它的成员全部是静态的,所以私有了构造方法 
  random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0 
  int number = (int)(Math.random()*100)+1 
总结: 
 什么是封装? 
  把一些数据和行为打包起来,使得类实现者可以修改封装内的东西而不影响外部调用者; 
  而外部调用者也可以知道自己不可以碰哪里;这就提供一个良好的合作基础. 
 什么时候使用封装? 
  封装易变动的部分,可以减少变动对整个系统带来的影响, 
  并且可以有效地控制系统的复杂程度 
  举例:之前学习的成绩优良及格差 
 |   
        
 
    
    
    
     
 
 |