Java Beginner Learning Summary Java Basics (Class)

Source: Internet
Author: User

Directory

    • Java Beginner Learning Summary Java Basics (Class)
      • 1. Object-Oriented Programming
      • 2. Class
      • 3. Static keyword
      • 4. Final keyword
Java Beginner Learning Summary Java Basics (Class) 1, object-oriented programming 1.1, object-oriented programming features
面向对象编程(OOP)的三大特征 {        封装;        继承;        多态;}
1.2. Overview of Classes and objects

Classes and objects are core object-oriented concepts.

类与对象 {        类;  // 类是对于一类事物的描述,是抽象的、概念的定义。        对象; // 对象是实际存在的该类事物的每个个体,因而也别称为实例。}
2, Class 2.1, the syntax of the class
修饰符 class 类名 {        属性声明;      // 属性,对应类中的成员变量    方法声明;      // 行为,对应类中的成员方法}
2.2. Relationship of Class
类的关系 {        关联关系;    继承关系;    聚集;    组合;}
2.3. Attribute 2.3.1, attribute syntax
修饰符 类型 属性名 = 初值
2.3.2, Java variables
    • The concept of Java variables
变量 {        成员变量 {        实例变量;       // 不以static修饰        类变量;         // 以static修饰    }        局部变量 {        形参;          // 方法签名中定义的变量        方法局部变量;   // 在方法中定义        代码块局部变量; // 在代码块中定义    }}
    • The difference between a member variable and a local variable
成员变量和局部变量的区别 {        成员变量 {        // 成员变量定义在类中,在整个类中都可以被访问。        // 成员变量分为类成员变量和实例成员变量,实例变量存在于对象所在的堆内存中。        // 成员变量有默认初始化值。        // 成员变量的权限修饰符可以根据需要,选择任意一个。    }        局部变量 {        // 局部变量只定义在局部范围内,如方法内、代码块内等。        // 局部变量存在于栈内存中。        // 作用的范围结束,变量空间会自动释放。        // 局部变量没有默认初始化值,每次必须显示初始化。        // 局部变量声明时不指定权限修饰符。    }}
2.4. Method 2.4.1, method syntax
修饰符 返回值类型 方法名 (参数列表) {        方法体语句;}// 注意:Java里方法不能独立存在,所有的方法都必须定义在类里。
2.4.2, parameter passing of methods
方法的参数传递方式 {        值传递;    // 即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响}
2.4.3, overloading of methods
重载 {    方法名相同;    参数列表(参数个数、参数类型)不同;    与返回值类型无关;}
2.5, constructor 2.5.1, the syntax of the constructor
修饰符 类名 (参数列表) {        初始化语句;}// 构造器的作用:创建对象,给对象进行初始化
Characteristics of 2.5.2 and constructors
构造器的特征 {        // 具有与类相同的名称    // 不声明返回值类型    // 不能被static、final、synchronized、abstract、native修饰,不能有return语句返回值}
Classification of 2.5.3 and constructors
构造器分类 {        隐式无参构造器;            // 系统默认提供        显示定义一个或多个构造器;   // 无参、有参}
2.5.4, constructor considerations
构造器注意事项 {        // Java语言中,每个类都至少有一个构造器    // 默认构造器的修饰符与所属类的修饰符一致    // 一个类可以创建多个重载的构造器    // 父类的构造器不可被子类继承}
2.6, this
this {        this.a = 10;             // 方法内部使用,即这个方法所属对象的引用    this.sayHello("hello");  // 方法内部使用,即这个方法所属对象的引用        this();                  /* 构造器内部使用,表示该构造器正在舒适化的对象。                                使用this()必须放在构造器的首行。                                使用this调用本类中其他的构造器,保证至少又一个构造器是不用this的。                             */}// 说明:this表示当前对象,可以调用类的属性、方法和构造器
2.7. Encapsulation

In Java, you provide the public method by declaring the data private (private): GetXxx () and setxxx () implement operations on the property.

2.7.1, permission modifier
    • The Java permission modifier public, protected, and private are placed before the member definition of the class to qualify the object for access to that class member.
权限修饰符 {        private;     // 内部类√   同一个包×   子类×   任何地方×    缺省;        // 内部类√   同一个包√   子类×   任何地方×    protected;   // 内部类√   同一个包√   子类√   任何地方×    public;      // 内部类√   同一个包√   子类√   任何地方√}
    • Modifier modifier Range Size Comparison
public > protected > 缺省 > private
2.7.2, JavaBean
JavaBean {        // 类是公共的    // 有一个无参的公共的构造器    // 有属性,且有对应的get、set方法}/* 说明:   用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。 */
2.8, inherit 2.8.1, inherit the grammar
class 子类类名 extends 父类类名 {    }
2.8.2, types of inheritance
继承的种类 {        单继承;   // Java只支持单继承,不允许多重继承}
2.8.3, Super
    • The use of super
super {        super.a = 10;             // 访问父类中定义的属性    super.sayHello("hello");  // 调用父类中定义的成员方法    super();                  // 子类构造器中调用父类的构造器}
    • The difference between this and super
this和super的区别 {        访问属性 {                this;   // 访问本类中的属性,如果本类中没有此属性则从父类中继续查找        super;  // 访问父类中的属性    }        调用方法 {                this;   // 访问本类中的方法        super;  // 直接访问父类中的方法    }        调用构造器 {                this;    // 调用本类构造器,必须放在构造器的首行        super;   // 调用父类构造器,必须放在子类构造器的首行    }        特殊 {                this;     // 表示当前对象        super;    // 无此概念    }}
2.8.4, rewriting
    • Overriding the definition
重写/重置/覆盖/override的定义 {        // 在子类中可以根据需要对父类中继承来的方法进行改造。在程序执行时,子类的方法将覆盖父类的方法。}
    • Requirements for rewriting
重写的要求 {        // 重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值类型。    // 重写方法不能使用比被重写方法更为严格的访问权限。    // 重写和被重写的方法必须同时为static,或同时为非static。    // 子类方法抛出的异常不能大于父类被重写方法的异常。}
2.9, polymorphic 2.9.1, polymorphism of the embodiment
多态的体现 {        // 方法的重载和重写    // 对象的多态性,可以直接应用在抽象类和接口上}
3. Static keyword 3.1, static use range
static使用范围 {        属性;    方法;    代码块;    内部类;}
3.2, the characteristics of the modified members
被static修饰后的成员 {        // 随着类的加载而加载    // 优先于对象存在    // 修饰的成员,被所有对象所共享    // 访问权限允许是,可不创建对象,直接被类调用}// 注意:在static方法内部只能访问类的static属性,不能访问类的非static属性。// 注意:在static方法内部不能有this和super。// 注意:重载的方法需要同时为static或者非static。
3.3. Non-static code block and static code block
非静态代码块和静态代码块 {        // 没有static修饰的代码块    静态代码块 {                // 可以有输出语句        // 可以对类的属性、类的声明进行初始化操作        // 可以调用静态的变量和方法        // 若有多个非静态的代码块,那么按照从上到下的顺序依次执行        // 每次创建对象的时候,都会执行一次。且先于构造器执行    }        // 用static修饰的代码块    静态代码块 {                // 可以有输出语句        // 可以对类的属性、类的声明进行初始化操作        // 不可以对非静态属性初始化。即:不可以调用非静态的属性和方法        // 若有多个静态的代码块,那么按照从上到下的顺序依次执行        // 静态代码块的执行要先于非静态代码块        // 静态代码块只执行一次    }}
4. Final Keyword 4.1, final use range
final使用范围 {        类;    属性;    方法;}
4.2. Final Features
被final修饰后的特点 {        // final标记的类不能被继承    // fianl标记的方法不能被子类重写    // final标记的变量(成员变量或局部变量)即成为常量。名称大写,且只能被赋值一次}

Java Beginner Learning Summary Java Basics (Class)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.