一.面向对象的概念
  1.面向过程
    分析解决问题所需的步骤,然后用函数把这些步骤一一实现,使用的时候一个一个依次调用
  2.面向对象
    把解决的问题按照一定的规则划分成多个独立的对象,退过调用对象的方法来解决问题,通过多个对象的配合来实现程序的功能

二.类与对象
  1.类的概念
    用来描述一组对象的共同特征和行为,是对象的蓝图
  2.类的介绍
  类中包含成员变量与成员方法
  (1)成员变量
    用于描述对象的特征,也被称为属性,写在方法体外面,分为静态变量(类变量,即用static修饰)和实例变量(不用static修饰)
  (2)成员方法
    用于描述对象的行为,也被称为方法,包含方法体与局部变量,相当于c语言的函数。局部变量可与成员变量同名。
  3.对象的创建与使用
  (1)创建对象
    类名 对象名; //创建引用变量
    new Person(); //实例化一个类
    对象名=new Person(); //创建链接
    *连在一起就是:
    类名 对象名=new 类名();
    如:Person pr=new Person();
    *对象是放在垃圾回收堆上的,当没有任何变量引用这个对象时它将成为垃圾对象被回收
  (2)方法和属性的调用
    对象引用.方法名()或.属性;
    如:pr.ag;
    pr.print();
  4.类的封装
  (1)概念
    是将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
  (2)好处
    只能通过规定方法访问数据、隐藏类的实现细节、方便加入控制语句、方便修改实现
  (3)使用
    用private来修饰所要封装的方法和属性
    通过设置器 setXXX()和访问器 getXXX()来修改和访问,设置器和访问器不能用private修饰

三.构造方法
  1.定义
    方法名与类名相同,方法名前面没有返回值类型的声明,方法中不能用return返回一个值
  2.作用  

    仅用于初始化对象,如果自己不定义系统会自定义一个无参的构造方法,一旦自己定义系统将不会在自定义了
  3.构造方法的重载
    一个类中可以定义多个构造方法,但方法的参数类型或参数个数不同即可

四.this和static关键字
  1.this用法
  (1)通过this.成员变量,可以去访问一个类的成员变量,解决与局部变量名字冲突的问题
  (2)通过this调用成员方法
  (3)通过this()来调用其他构造方法
  (4)this本类当中的对象(不常用)
  2.static
    被static修饰的随类的加载而创建,且只能创建一次,非静态方法可以调用静态变量,静态方法不能调用实例变量
    在定义一个类时并不会产生具体数据,只有用new关键字实例化一个对象时,系统才会为该对象分配内存空间

  (1)静态变量
    有时候我们希望某些特定的数据在内存中只有一份,且能被每个对象所共享我们需要静态
    变量即用static修饰的成员变量不能用于修饰局部变量

  (2)静态方法
    不需要创建对象就可以调用的方法,用static修饰的方法
  (3)静态代码块
    static{}

五.内部类
  1.成员内部类
    他可以访问外部类的属性和方法,
    外部类名.内部类名 变量名=new 外部类名().new 内部类名();

  2.静态内部类

    用static修饰一个成员内部类,他可以在不创建外部类对象时被实例化

  3.方法内部类

    只能在当前方法中使用

六.例子

package one;
public class Test {
    String name;


//    定义一个内部类Good,他可以访问外部类的属性和方法
 class Good{
        int age;
        String xb;

        public  void print(){

            System.out.println(name+"   岁: "+age+"  性别: "+xb);
        }

//        内部类的构造方法
        Good(int age){

            this.age=age; //this.age代指本类中的age
        }
//        构造方法重载

        Good(String xb,int age){

            this(age);
            this.xb=xb;

        }
        Good(){}
    }
//外部类的构造方法
    Test(){}
    Test(String name){
        this.name=name;
    }

}
class Word{
    static  void run(){
        System.out.println("这是static修饰的静态方法");
    }
    public static void main(String [] args){
        Test.Good g=new Test("小明").new Good("男",18);
        g.print();

//        静态方法和属性可接通过类名来访问

        Word.run();
    }
}

 

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!