构造函数(构造器、构造方法)
1.怎么去理解构造器
每个类创建时都会有一个默认的构造方法,而且是无参构造方法,
构造方法结构:访问权限 类名(){}//默认的构造函数在没有重载的构造函数的时候,写不写出来都是可以的,但是有了重载的构造函数,就必须列出来,否则报错。
构造方法作用:用来创建对象,//构造函数重载的话使对象实例化的时候,使对象生来具有某些特性,也可以在重载的构造函数中加入其它的代码,实现某些功能。
2.方法的分类和方法的重载
方法分类:构造方法,普通方法,抽象方法
方法重载:两个方法的方法名字一样,但是方法中参数个数或者参数类型、参数顺序不一样//只和参数不同有关,和返回类型等等没有任何关系
一旦重载了构造方法,默认无参构造方法不存在
3.this关键字
4. 变量分为全局变量和局部变量
全局变量又称为属性
参数,方法小括号中的变量
//变量有就近原则,如果用了this,那么就
5.值传递和应用传递
值传递适用于java中的基本数据类型和String(String定义的时候必须是:String str = "";String str; str = "";)
基本数据类型有8个:
byte 字节型 8bit -128~127
short 短整型 16bit
int 整型 32bit
long 长整型 64bit
float 浮点型 单精度 32bit
double 浮点型 双精度 64bit
char 字符型 16bit
boolean 布尔型 true和false
值传递是将变量i中的值拷贝一份,存入到参数score中,此时两个变量中存储的值相同,但是是在不同的内存空间中,此时对其中的任何一个做修改,都不会影响到另外一个。
引用传递适用于java的引用数据类型(又叫做类类型,对象类型,复杂数据类型,自定义数据类型),都是用class定义的类和数组
String str = new String();
String str ;
str = new String();
引用传递是将对象名stu1中存储的内容首地址,拷贝一份存入到stu2中,此时两个对象名指向了同一个对象,是用其中的一个对象名将对象的属性修改后,那么另外一个对象名的
也会跟着改变。
关于父类子类,继承:
1.继承
被继承的类:父类
继承的类:子类
访问权限:public :同一个工程下面任何一个类,都能用对象调用到
protected:同一个包下的任何一个类,不同包下的子类能用对象调用
默认:只在同一个包下能使用到
private:同一个类
子类继承父类,到底继承到了什么??继承到了父类的非私有的属性和方法
2.方法重写
方法重写注意:方法名字返回类型参数必须和父类方法一样,访问权限只能扩大或者不变,不能缩小
如果子类对象重写了父类的方法,子类对象调用的是重写后的方法
3.自动转型:子类自动转型为父类
4.多态
5.接口\抽象类,不能被实例化
接口:很抽象的一个类,接口中的方法都是抽象方法,接口中的属性都是常量,所有属性和方法都是公有的
抽象类:既允许存在抽象方法,也允许存在普通方法;属性没有限制
普通类:不允许存在抽象方法
分享到:
相关推荐
在Java编程语言中,本文将深入探讨几个关键概念,包括继承中的`this()`构造器调用、多态性、单态设计模式、静态初始化、对象引用的`==`比较以及参数传递机制。这些知识点是Java程序员必备的基础知识,对理解和编写...
在实际编程中,构造函数还可以根据需要设计为多态,即一个类可以有多个构造函数,每个接受不同数量或类型的参数。这种称为构造函数重载,它提供了更大的灵活性,以适应不同的初始化需求。总之,掌握Java构造函数的...
3. 传递参数:在方法或构造函数中,`this`可以作为参数传递,将当前对象传递给其他方法或类,方便进行方法链式调用或者在内部类中引用外部类的成员。 4. 返回当前对象:`this`也可以用于返回当前对象,常用于方法的...
【C# THIS关键字详解】 在C#编程语言中,`this`和`base`都是关键字,它们在面向对象编程中扮演着重要的角色。下面将详细解释这两个关键字的用途和应用场景。 1. `base`关键字: `base`关键字主要用于在派生类中...
`this` 关键字在JavaScript中扮演着核心角色,它指的是函数调用时的上下文,而 `initialize` 通常是一个构造函数,`apply` 是一个内置方法,用于改变函数调用时的上下文(`this` 值)并传入参数。 首先,让我们理解...
在这篇文章中,我们将对清华大学计算机系 C++期末考试题进行总结和分析,涵盖了面向对象程序设计、函数参数传递、拷贝构造函数、静态数据成员、继承、多态、_OVERRIDE_、抽象类、const关键字、用户自定义数据类型、...
构造函数负责对象初始化,常量和引用数据成员需在构造函数初始化列表中处理。protected成员对派生类可见,对外部不可见。setprecision和hex是I/O流操纵符,分别用于设置输出精度和十六进制格式。 C++中,数组名作为...
在函数参数传递中,数组、指针和引用都可以用来传递值。内联函数用于减少函数调用的开销,通过在函数类型前添加inline关键字。拷贝构造函数用于对象的复制,系统默认拷贝构造函数会逐个复制数据成员。new运算符用于...
在郝斌的Java视频笔记中,涵盖了多个重要的Java概念,包括访问控制符、构造函数、函数重载、this关键字、static修饰符、继承、函数重写、多态、抽象类和接口。 1. **访问控制符**:Java提供了四个访问控制符:...
4. 拷贝构造函数:拷贝构造函数用于初始化新对象,它使用已存在的对象的引用作为参数。 5. 继承的访问权限:在公有继承下,基类的公有和保护成员在派生类中保持原有访问级别。 6. 条件表达式:在C++中,表达式"A||...
枚举构造函数主要用于初始化枚举实例的内部状态,但需要注意,构造函数不能被外部直接调用,只能在枚举实例的定义中使用。例如: ```java public enum Color { RED(1), GREEN(2), BLUE(3); private int value; ...
6. this关键字:在JavaScript中,this关键字用来引用当前执行上下文的对象。在构造函数、普通函数和箭头函数中,this的指向是不同的。理解this关键字有助于掌握JavaScript中对象的使用和方法的调用。 7. 高阶函数:...
13. 拷贝构造函数参数:拷贝构造函数通常接收一个对同类对象的引用,用于初始化新对象。 14. 继承的访问权限:在公有继承下,基类的公有和保护成员在派生类中保持相同的访问权限。 15. 构造顺序:构造派生类对象时...
最后,"super"关键字与Java的this关键字相对应,this代表当前对象,而super则代表当前对象的父类对象。两者都是为了在多态和继承环境中明确指代对象的类型。 总结来说,"super"关键字在Java中主要应用于以下方面: ...
4. 拷贝构造函数:拷贝构造函数是一个特殊的构造函数,它接受一个类类型的引用作为参数,用于初始化新创建的对象,通常用于复制已有对象。 5. 访问权限继承:在公有继承中,基类的公有和保护成员在派生类中保持相同...
C++面试题中涉及的知识点广泛且深入,包括面向对象编程的基本概念、类与对象的关系、成员函数与构造函数的特点、继承与多态的实现、以及运算符重载等高级特性。下面将具体解析这些知识点。 首先,面向对象程序设计...
4. 拷贝构造函数:拷贝构造函数用于通过已存在的对象初始化新创建的对象,其参数通常是一个类类型的引用。 5. 访问权限继承:在公有继承下,基类的公有成员在派生类中仍然是公有的,保持不变。 6. 逻辑运算符:...
以上内容涵盖了C++的一些基础知识点,包括函数参数传递、对象、继承、多态、构造函数、析构函数、逻辑运算、静态成员、输入输出以及代码复用策略。通过理解和掌握这些知识点,能有效提高C++编程能力。
拷贝构造函数使用引用参数初始化新对象。公有继承下,基类的访问权限不变,派生类对象构造时从基类开始。统计对象个数用静态数据成员,多重继承时使用虚基类避免数据冗余,抽象类包含纯虚函数,不能直接实例化。数据...