zoukankan      html  css  js  c++  java
  • Java学习笔记002——类、对象、封装

    相关概念

    1、面向对象程序设计的三大基本特征:继承(Inheritance)、封装(Encapsulated)、多态(Polymorphism)

    2、中的属性又叫做成员变量(member varlable),属性(property或attribute)

    3、对象(Object)又叫做实例(instance)生成一个对象的过程又叫做实例化

    4、定义在类中的属性叫做成员变量,定义在方法里的变量叫做局部变量

    局部变量使用前必须要声明并赋初值,成员变量使用前必须要声明,但可以不赋初值

    如果成员变量不赋初值,则

    (1)byte、short、int、long类型的初始值默认为0

    (2)float、double类型的初始值为0.0

    (3)char类型的初始值为‘\u0000’

    (4)boolean类型的初始值为false

    5、构造方法(Constructor):构造方法用于完成对象属性的初始化工作,特点是:

    (1)构造方法的名字必须与类名完全一致,可以有参数列表

    (2)构造方法没有返回值,连void也不能出现

    (3)如果定义一个类的时候,没有为类声明构造方法,那么Java编译器会自动为类添加一个没有参数且为空的构造方法(默认的构造方法)如:public Person() { }

    (4)不能显式调用类的构造方法,构造方法通常是通过new来调用

    6、new关键字在生成对象时完成三件事:

    (1)为对象开辟内存空间

    (2)调用类的构造方法

    (3)将生成的对象的地址返回

    如果一个java源文件中定义了多个类,那么这些类中最多只能有一个类是public的,main函数一定要在public类中

    7、命名约定

    1、类:首字母大写,如果一个类名由多个单词构成,那么每个单词的首字母都大写,中间不使用任何的连接符,如:MemberTest类

    2、方法:首字母小写,如果一个方法由多个单词构成,那么第一个单词的所有字母全小写,从第二个单词开始,每个单词的首字母大写,如:addThreeInt方法

    3、属性:命名约定与方法相同,如:ageOfPerson属性/变量

    定义类

    public/pravate class 类名 {

    //类的内容(包括属性和方法)

    }

    如:public class Test {

    int a;

    public int add();

    }

    定义属性

    public/pravate 数据类型 属性名称 ;

    如public int tree ;

    定义方法/函数

    public/pravate 返回类型 方法名(参数类型 参数1,参数类型 参数2,……) {

      //代码块

      //用return语句返回值,如:retuan 1;

      //ruturn ; 表示不返回值直接结束方法执行

    }

    如:public static void main(String[] args) { }

    返回类型为void时表示不返回值

    main方法是整个Java程序的入口点,如果没有main方法,则程序无法执行

    方法不能嵌套定义

    生成对象

    1、使用new来生成对象

    类名 变量名 = new 类名() ;

    如:Person person1 = new Person() ;

    此时person1类似于C语言的指针,指向新生成的对象

    2、

    方法调用和属性使用

    对象变量.方法名( 参数1, 参数2, ……) ;

    如:person1.add(a, b) ;

    当传递的参数是原生数据类型时,在方法里对参数的修改对外部参数没有影响

    对象变量.属性

    如:person1.age ;

    构造方法想调用其他的构造方法,可以使用this( 参数1,参数2 …… )方法:表示调用本类中和参数列表对应的那个构造方法

    this()方法必须放在构造方法的第一行

    方法重载(Overload

    表示两个或多个方法名相同,但方法参数不同(参数个数不同或参数类型不同),返回值并不能导致方法重载,构造方法也可以重载,重载的函数之间可以相互调用

  • 相关阅读:
    Java StringTokenizer Example
    java 删除字符串中的特定字符
    [Python]网络爬虫(二):利用urllib2通过指定的URL抓取网页内容
    Uniform resource name
    [Python]网络爬虫(一):抓取网页的含义和URL基本构成
    coco2dx 精灵类
    window和nodejs作用域区别(待续)
    ubuntu开机遇到-您的当前网络有.local域,我们不建议这样做而且这与AVAHI网络服务探测不兼容。该服务已被禁用
    ruby中的reject和reject!
    ruby中将数组转换成hash
  • 原文地址:https://www.cnblogs.com/oushihua/p/2861903.html
Copyright © 2011-2022 走看看