您的位置 首页 java

java——具体类

(01)类:被class修饰叫做类。

  public class Person //读作:类Person或Person类  

理解:用【类】来表示现实生活中的【模板】或【图纸】。

理解:用【对象】来表示现实生活中【实体】或【实例】。

(02)成员变量:在类中定义的变量叫做类的成员变量。

理解:用来表示类的【属性】或【状态】。比如“人”具有的属性:年龄。姓名,性别等

变量通常称为【静态成员】

  public class Person{//成员变量写在类的语句块儿里
  String  name;//表示一个人的名字(名字是一个人具有的属性)
 int age;//表示一个人的年龄(年龄是一个人具有的属性)
 }  

(03)成员方法:在类中定义的方法叫做类的成员方法。

理解:用来表示类的【行为】或【功能】。比如人的行为:跑步、吃饭、喝水等

理解:一个方法就代表一个功能,把功能写在方法里面

方法通常称为【动态成员】

  public class Person {
     public  void  run() {
         System.out.println("跑步");//跑步是人的行为
     }
     public void driver() {
         System.out.println("开车");//开车是人的行为
     }
 }  

(04) 构造方法 :方法名和类同名、没有返回值也没有void关键字。

(通常写在成员变量下面)

理解:作用是根据类来创建对象。有参和无参的构造方法。

  public class Person {
     public Person(){    
     }
     public Person(String name,int age){   
     }
 }  

(05)编写一个标准具体类的步骤

第一步:创建class类

第二步:编写成员变量

第三步:生成构造方法(无参和有参)

第四步:生成getter方法和setter方法

第五步:生成 toString 方法

(06)创建对象的语法句式

类名 变量 = new 构造方法;

  (1)创建一个对象:张三、30
 Member m1 = new Member();//针对的是无参的构造方法
 m1.setName("张三");
 m1.setAge(30);
 System.out.println(m1);
 //无参的构造方法
 public Member() {
         super();
 }
 (2)创建一个对象:李四、40
 Member m2 = new Member("李四", 40);//针对的是有参的构造方法
 System.out.println(m2);
 //有参的构造方法
 public Member(String name, int age) {
         super();
         this.name = name;
         this.age = age;
     }  

(07)成员变量和局部变量的区别

成员变量:在类中定义的。 作用域 在类内部。

局部变量 :在方法中定义的。作用域在方法内部。

  public class B {
     // 成员变量
     int a = 3;
     public void m() {
     // 局部变量
     int b = 5;
     System.out.println(a);
     System.out.println(b);
     }  

(08)基本数据类型和类类型的区别

Java语言有2种数据类型:基本数据类型和类类型。

基本数据类型:变量中存储的是真实的值。

  public  static  void m1(int b) {
         b = 3;
     }
 public static void main(String[] args) {
         int a = 2;
         m1(a);
         System.out.println(a);  
     }
 //这段代码最终打印的结果是2,因为基本数据类型的变量中存储的是真实的值,在主方法的测试中,将2赋值给变量a,a存储的是真实的值2  

类类型:变量中存储的是对象在内存中地址的值。(遥控器)

  public static void m2(int[] d) {
         // 301
         d[0] = 4;
     }
 public static void main(String[] args) {
         int[] c = {1,2,3};// 301
         m2(c);
         System.out.println(c[0]);
 }
 //这段代码最终打印出来的结果是4,因为类类型:变量中存储的是对象在内存中地址的值,在m2方法中,数组中下标是0的位置的值是4,所以在主方法测试中,传入参数数组c,最后打印出来的下标是0的值依旧是地址的值4  

(09)值传递

基本数据类型传递的是【真实的值】。

类类型传递的是【地址的值】。

(10)类类型的变量和对象之间的关系

一个变量可以引用零个或一个对象。

  // 一个变量可以引用零个或一个对象(只能存一个对象的地址)
 Member m = new Member("张三", 30);//张三这个对象的地址传给m
 m = new Member("李四", 30);//李四这个对象的地址传给m
 m = new Member("王五", 30);//王五这个对象的地址传给m
 System.out.println(m);//最后打印出来的是王五
 m = null;//谁也不引用  

一个对象可以被零个或多个变量引用。

  // 一个对象可以被零个或多个变量引用
 Member m1 = new Member("张三", 30);
 Member m2 = m1;
 Member m3 = m1;
 System.out.println(m1);
 System.out.println(m2);
 System.out.println(m3);
 //此时打印出来的m1,m2,m3都是张三,也就是说张三这个对象同时被m1,m2,m3三个变量引用
 //三个变量引用了同一个对象,此时对其中一个进行更改,那么三个变量的值也同时更改
 Member m1 = new Member("张三", 30);
 Member m2 = m1;
 Member m3 = m1;
 m3.setAge(45);//通过改变变量m3的年龄
 System.out.println(m1);
 System.out.println(m2);
 System.out.println(m3);
 //此时打印出来的m1,m2,m3年龄都是40
 m1 = null;  

null空关键字、用于类类型、表示任何对象都不引用。

文章来源:智云一二三科技

文章标题:java——具体类

文章地址:https://www.zhihuclub.com/188562.shtml

关于作者: 智云科技

热门文章

网站地图