• java入门学习(4)— 类,对象理解,如何创建类,对象


    1、什么是类?
    具有一定相同的属性的对象的集合就叫类。
    2、对象:类的具体实例,就是类的实例化。比如学生是一个类(student),那学生里面的小红就是一个对象,一个有学生的属性的对象。
    3、如何定义一个类:
    语法格式: 【修饰符】 class 【类名称】
    {
    零到多个构造器定义;
    零到多个属性定义;
    零到多个方法定义;
    }
    说明:修饰符可以是,public,protected,absturted,之一,或者是省略。
    类名称:只要是合法的标识符就可以,
    对于类来说,最常见的成员就是构造器,属性,和方法。
    4、属性:用于定义该类,或者该类的实例所包含的数据。
    定义的语法:【修饰符】 属性类型 属性名 【= 默认值】
    修饰符:可以省略,其中public,protected、private三者只能出现一个、可以和final或者static组合起来使用。
    属性类型:java允许的任何数据类型
    属性名:合法的表示符
    默认值:对于属性的默认赋值或者定义,(可选)
    5、方法:方法是用于定义该类或者该类的实例的行为特征,或者功能的实现。
    定义的语法:【修饰符】 方法返回值类型 方法名(形参列表)
    { //由零到多条可执行性的语句组成的可以完成某一功能的的方法体
    }
    修饰符:可以省略,也可以是public,protected、private、static、final、abstract,其中public,protected、private、只能出现其中一个;final、和abstract也只能出现一个,还可以与static(定义一个静态的属性)组合起来使用 。
    方法返回值类型:放回类型可以是其允许的任何数据类型,当然,相应的返回值类型应该和这个这个相一致,没有返回值的话请用void。
    方法名:合法的标识符。
    形参列表:形参列表用于定义这个方法可以接受的参数,形参列表由零到多组组成,用英文逗号隔开,一旦定义了形参列表,则调用该方法的时候必须一一对应的传入对应的参数值。(谁调用,则谁负责为形参赋值)
    方法体:就是有一些可执行的句子(比如可以是输出,可以是查找后返回要的值等)。
    5、构造器:构造器是用于构造该类的实例,java通过new关键字来调用构造器,从而返回实例。这是一个类创建对象的根本途径。其实也是一个特殊的方法。
    语法:【修饰符】 构造器名 (形参列表)
    { //零到多条可执行语句组成的构造器执行体
    }
    修饰符:可以省略,亦可是public,protected,private之一。
    构造器名;构造器名必须与类型名一致。
    形参列表:形参列表用于定义可以接受的参数,一旦定义了形参列表,则调用该方法的时候必须一一对应的传入对应的参数值。(谁调用,则谁负责为形参赋值)
    **注**a、当没有自己创建构造器的时候,系统会有默认的构造器,但是如果自己创建了构造器,则会默认的构造器则会消失,如果想用也要自己创建。
    b、构造器不能定义返回值类型;也不能用void定义没有返回值,如果犯了前面的错误,编译时不会错,因为其会把之当成是方法处理。
    c、虽然当我门用new调用构造器来实例化一个类的时候,返回的是这个类,也即是给这实例赋予了这个类的属性,但是不能在构造器内用return返回当前类的对象,因为构造器是隐式的。
    例程
    public class Preson
    {
        //定义属性
        public String name;
        public int age;
        //定义一个构造器
         public Preson (){};//默认的构造器需要保留
         public Preson (String name,int age )
         {
            //执行体 
         }
        //定义一个说语言的方法
        public void say(String content)
        {
            System.out.println(content)
        }
    }

    :1、类里各个成员之间可以相互调用,但static修饰的成员之间不能访问没有static修饰的成员。因为静态的一开始就存在了,而非静态的却还没有产生如何调用?
    6、static关键字详解:
    a、用static定义的属性属于全局变量,不会改变,存在静态方法区,一般是共有的属性,一变大家变。
    b、静态变量或者方法属于类,而不是对象,所以调用的时候应该用类名直接调用,而不是使用对象调用
    eg: Book.outputfactory=”beijin”; 而不是B1.outputfactory=”beijin”;
    c、静态数据(变量或者方法)会在一开始就载入内存直到程序结束。
    d、普通类不能定义为static类
    几条限制:1、其只能调用其他的static方法,只能访问static数据。
    2、不能以任何方式引用this或者super,因为其不属于对象,不能调用this。

  • 相关阅读:
    POJ 1392 Ouroboros Snake 欧拉回路
    POJ 1275 Cashier Employment 差分约束+二分答案
    POJ 1780 Code 欧拉回路+手写栈DFS
    POJ 1300 Door Man 欧拉路的判断
    HDU1534 Schedule Problem 差分约束
    POJ 3169 Layout 差分约束
    POJ 1364 King 差分约束 找负环
    ZOJ 2770 Burn the Linked Camp 差分约束+SPFA
    Zoj 2027 Travelling Fee 最短路变形
    Poj 2263 Heavy Cargo Floyd 求最大容量路
  • 原文地址:https://www.cnblogs.com/liulei-LL/p/8093151.html
Copyright © 2020-2023  润新知