JAVA

原创 2018年04月16日 11:46:44

JAVA

面向对象:

         所有的事物,都为对象,只是需要把内容映射出一个

抽象类。

用抽象的形式,进行描述!在调用使用!

分解开来,对象的动作,行为,方法,放在一个类中,然后在

拿出来使用!使用方便,随用随拿!

 

当面对一道题的时候,首先分解,这个东西,需要什么成员变

量,或者方法,或者哪些需要保护,就使用封装,封装后再进

行判断!判断过后再使用set拿出来使用!安全性,以及判断

,便捷!那么类,可以当做对象的模板来使用

public class Dog{

//成员变量的属性

 String breed;

  intage;

 String color;

 void barking(){

  }

 //以及方法

 void hungry(){

  }

 

 void sleeping(){

  }

}

一个类当中可以包含局部变量!成员变量!以及类变量!之外

的变两个,

局部变量:在方法,构造方法,或者语句块中的变量被称为局

部变量,变量声明和初始化都是在方法中,方法结束后,变量

就会自动摧毁!

 

成员变量:成员变量是定义在勒种,方法体之外的变量,这种

变量在创建对象的时候,实例化,成员变量可以被类中方法,

构造方法和特定类的语句块中访问。

 

类变量:类变量也声明在类中,方法体之外,但必须声明

static类型!

 

每个类都有构造方法,如果没有显示地为类定义构造方法,

java编译器将会为该类提供默认构造方法。在创建一个对象

名称补习必须与类名同名,一个类可以有多个构造方法:

 

 

 

创建对象:

         对象是根据类创建的,在java中,使用关键字new来

创建一个新的对象!

 

声明对象,包括对象名称和对象类型

实例化,使用关键字new来创建一个对象

初始化,使用new创建对象时,会调用苟傲方法初始化对象

 

public class Puppy{

  int puppyAge;

  public Puppy(String name){

     // 这个构造器仅有一个参数:name

     System.out.println("小狗的名字是 : " + name );

   }

 

  public void setAge( int age ){

      puppyAge = age;

   }

 

  public int getAge( ){

      System.out.println("小狗的年龄为 : " + puppyAge

);

      return puppyAge;

   }

 

  public static void main(String []args){

     /* 创建对象 */

     Puppy myPuppy = new Puppy( "tommy" );

     /* 通过方法来设定age */

     myPuppy.setAge( 2 );

     /* 调用另一个方法获取age */

     myPuppy.getAge( );

     /*你也可以像下面这样访问成员变量 */

     System.out.println("变量值 : " +

myPuppy.puppyAge );

   }

}

 

学习源文件的声明规则,当在一个源文件中定义多个类,并且

还有import语句和package语句时,要特别注意这些规则

1.一个源文件中,只能有一个public类

2.一个原文件可以有多个非public类

源文件的名称应该和public类的类名保持一致。例如:源文件

中public类的类名是Employee,那么源文件应该命名为

Employee.java。

 

 

基本数据类型:

         变量就是申请内存来存储值,也就是说,当创建变量

的时候,需要在内存中申请空间。

内存管理系统根据变量的类型为变量分配存储空间,分配的空

间只能用来存储该类型数据!

 

访问控制修饰符

         default什么也不写,在同一个包内可见,不适用任

何修饰符。适用对象,类,接口,变量,方法。

 

         private在同一类内可见,适用对象,变量,方法,

不能修饰类(外部类);

        

         public对所有类可见,适用对象:类,接口,变量

,方法

 

         protected:对同一包内的类和所有子类可见,适用

对象:变量,方法,不能修饰类、(外部类)

 

 

String类:

         String类提供了链接两个字符串的方法:

关键字:concat

如: String1 。concat(String2)

放回的是两个字符串的链接值

charAt 返回索引,index

 

public class Test {

 

   public static void main(String args[]) {

       String s = "asdfasdff";

       char result = s.charAt(8);值为f

       System.out.println(result);

    }

}

 

indexOf方法

         返回指定字符串中第一次出现处的索引,如果此字符

串中没有这样的字符,则返回-1.

 

StringBuffer和StringBuilder类

         和String类不同的是,StringBuffer和

StringBuilder类的对象能够被多次的修改,并且不产生新的

未使用对象、

多数情况下建议使用StringBuilder类,然而在应用程序要求

线程安全的情况下,则必须使用StringBuffer类

 

public class Test{

 public static void main(String args[]){

   StringBuffer sBuffer = new StringBuffer("asdf:");

   sBuffer.append("123");

   sBuffer.append(".456");

   sBuffer.append(".789");

   System.out.println(sBuffer); 

结果为:asdf:123456789

  }

}

 

方法:

         方法的有点。

1,是程序变的更剪短清晰。

2.有力程序维护

3.可以提高程序开发的效率

4.提高带吗的重用性

 

修饰符返回值类型 方法名(参数类型 参数名){

   ...

    方法体

   ...

   return 返回值;

}

方法的重载,方法名可以相同,参数不同!或者,一个int型

一个dobule类型,返回值则是dobule。

 

public class chongzai {

         publicint id(int a) {

                   returna;

                  

         }

         publicint id(int a,int b) {

                   returna+b;

                  

         }

         publicint id(int a,int b ,int c) {

                   returna+b+c;

                  

         }

         publicint id(int a,int b,int c,int d) {

                   returna+b+c+d;

                  

         }

}

使用哪个调用哪个。

 

 

构造方法:

         当一个对象被创建时候,构造方法使用初始化该对象

,构造方法和他所在类的名字相同,但构造方法没有返回值

通常会使用构造方法给一个类的实例变量赋处置,或者执行其

他的必要步骤来创建一个完整的对象。不管你与否自定义构造

方法,所有的类都有构造方法,因为jagva提供一个默认构造

方法,他把所有成员初始化为0,一旦定义了自己的构造方法

,默认构造方法就会失效

 

// 构造函数

class MyClass {

  intx;

 

  // 以下是构造函数

 MyClass() {

    x= 10;

  }

}

 

封装:

         封装是指比较安全,隐藏起来的方法

可以认为是一个保护屏障,防止该类的代码和珊瑚橘被外部类

定义的代码随机访问。

要访问该类的代码和数据,必须通过严格的接口控制。

封装主要的功能在与我们能修改自己的事先代码,二u用修改

那么细调用我们代码的程序片段。,

适当的封装可以让代码更容易理解和维护,特加强了代码的安

全性

 

1.良好的封装能够减少耦合

2.类内部的结构可以自由修改。

3.可以对成员变量进行更精确的控制

4.隐藏信息,事先细节。

 

首先修改成员变量,public则是公开化,但是封装我们却一般

都使用private属性。

private String name;

   private int age;

设置成私有的属性,其他的类就无法访问的到

 

对每个值实行提供对外的公共方法访问,也就是创建一对赋值

取值的方法,用与对私有属性的访问。

public class Person{

   private String name;

   private int age;

   public int getAge(){

     return age;

    }

   public String getName(){

     return name;

    }

   public void setAge(int age){

     this.age = age;

    }

   public void setName(String name){

     this.name = name;

    }

}

采用this关键字是为了解决实例化变量和局部变量中的重命名

 

通常情况下,这些方法称为getter和setter方法

因此,任何要访问类中私有成员变量的类都要通过这些getter

和seeter方法

 

封装:

 

继承:

         继承就是子类继承父类的特征和行为,使得子类对象

具有父类实力语和方法,或子类从父类继承方法,使得子类具

有和父类形同的行为。所有继承需要符合的关系是:is-a,父

类更通用,子类共具体。

 

class 父类 {

}

 

class 子类 extends 父类 {

}

继承的格式

类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39802514/article/details/79958680
收藏助手
不良信息举报
您举报文章:JAVA
举报原因:
原因补充:

(最多只允许输入30个字)