• java基础:4.1 对象和类(一)、静态量、public、private


    目录

    1、定义通用类

    2、无引用对象数据的默认值

    3、对象的赋值

    4、静态变量、常量、方法

    5、可见修饰符public

    6、private


    从这章节开始,要慢慢养成——面向对象编程的思维,使用对象进行程序设计。

    1、定义通用类

    引入——通用类来定义同一类型的对象,一个对象的属性/特征/状态——数据域(变量)表示,一个对象的行为——方法表示。

    //UML类图中的表示方法
    ClassName(parameterName:parameterType...)
    {
        ...
        methodName(parameterName:parameterType):return
    }
    
    //定义一个类
    public class TestClass {
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Circle1 NO1 = new Circle(5);   //使用构造方法创建对象
    		Circle1 NO2 = new Circle(3);
    		double s1=NO1.getArea(); //调用对象上的实例方法的过程称为调用对象
    		NO2.setRadius(10);
    		double s2=NO2.getArea();
    		System.out.printf("s1=%f,s2=%f",s1,s2);
    		System.out.println(" Area is " + new Circle1(50).getArea()); //有时候,一个对象在创建之后并不需要引用。在这种情况下,可以创建一个对象,而并不将它明确地賦值给一个变量。
    	}
    }
    
    class Circle{
        double radius;
        Circle(){         //无参构造方法(默认)
            radius=1;
        }
        Circle(double newRadius){
             radius = newRadius;
        }
        double getArea(){   //实例方法:因为只能在具体的实例上调用
            return radius*radius*Math.PI;
        }
        void setRadius(double newRadius){
            radius = newRadius;
        }
    }
    
    class Student{
        String name;
        int age;
        boolean isSci;
        char gender;
    }

    2、无引用对象数据的默认值

    对于上面程序中申明的String name;     int age;   boolean isSci;    char gender;

    如果一个引用类型的数据域没有引用任何对象,引用类型数据域的默认值是rum, 数值类型数据域的默认值是0, boolean 类型数据域的默认值是false, 而char 类型数据域的默认值是’u000'

    Student student = new Student();
    System.out.println(student.name);
    System.out.println(student.age);
    System.out.println(student.isSci);
    System.out.println(student.gender);

    显示的结果是:

    null
    0
    false

    3、对象的赋值

    我们在创建对象时,使用的语句是:Student student = new Student();简单的说,即:student是一个包含对Student对象引用的变量。对引用类型变量来说,对应内存所存储的值是一个引用,是对象的存储地址。

    对于语句:Circle1 C1 = new Circle(5); Circle1 C2 = new Circle(3);

    赋值:C2=C1;是将C1的引用赋值给C2,他俩指向了同一个Circle对象C1。原先C2指向的内存空间成为了垃圾,将被java运行系统检测后自动回收(垃圾回收)

    4、静态变量、常量、方法

    静态变量被类中的所有对象所共享。静态方法不能访问类中的实例成员。

    首先,什么是实例/实例变量。Circle1 C1 = new Circle(5);Circle1 C2= new Circle(3); 

    C1 C2即是我们创建的两个实例,radius分别等于5和3;radius就是两个实例变量。实例变量是绑定到类的某个特定实例的

    如果想让一个类的所有实例共享数据,就要使用静态变量/类变量

    若在class Cricle1{...}中增加一个静态变量/静态方法

    //静态变量:
    static int numberOfObjects; 
    
    //静态方法:
    static int numberOfObjects(){
        return numberOfObjects;
    }
    
    //静态常量
    final static int PI = 3.141592654;

    申明为静态量后,该类的所有对象共享其值。

    main方法也是静态方法

    5、可见修饰符public

    可以在方法和数据域前使public修饰符,表示它们可以被任何其他的类访问。

    如果没有可见修饰符public,则只能被同一个包(程序第一行申明:package packageName)中的任何一个类访问。

    6、private

    private : 限定方法和数据域只能在它自己的类中被访问,只能应用在类的成员上。

  • 相关阅读:
    CF261E Maxim and Calculator
    USACO Section 2.1
    码工新人的成长升职之路~
    Skip level 1 on 1
    有效利用1 on 1
    [职场感言] 入职一年总结
    职场新人建议
    L1 正则为什么会使参数偏向稀疏
    Inception网络
    ResNet
  • 原文地址:https://www.cnblogs.com/l20902/p/10610951.html
Copyright © 2020-2023  润新知