面向对象要点(this关键字)】的更多相关文章

PHP 面向对象中常见关键字的使用: 1.final :final关键字可以加在类或者类中方法之前,但是不能使用final标识成员属性. 作用: 使用final标识的类,不能被继承. 在类中使用final标识的成员方法,在子类中不能覆盖. 总结:final表示为最终的意思,所以使用final关键字的类或者类中的成员方法是不能被更改的. 2.static :static关键字将类中的成员属性或者成员方法标识为静态的,static标识的成员属性属于整个类,static成员总是唯一存在的,被类的全部对…
Java面向对象-package import关键字 package包关键字,在java中,有包的概念,主要是用来归类 分类作用: 便于项目的开发和维护: 这里截取随便截取一个我最近在开发的一个开源工作流项目: 这里的话 我们会看到dao service util controller包 这些包里都放着一些类,通过分包,可以很清晰的来管理类: 我们新建一个类Demo2: 在开头有个 package com.java1234.chap03.sec05; 指定了该类的包路径: 假如我们这个类里要引入…
Java面向对象-构造方法,this关键字 构造方法 概念:构造方法是一个特殊的方法,这个特殊方法用于创建实例时执行初始化操作: 上代码: package com.java1234.chap03.sec04; /** * 定义人类 * @author user * */ public class People { // 定义属性 private String name; // 实例化对象时,默认值是null private int age; // 实例化对象时,默认值是0 /** * 默认构造方…
081 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 06 new关键字 本文知识点:new关键字 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明):有些步骤和相关知识点缺乏文字描述,可能会难以理解.读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的"关于博主"处)与本人交流,共同进步. ne…
package day07; public class ThisKeywords { private String name; private void Foo(String name) { this.name = name;//将类中的属性赋值,通过this关键字,将函数参数中的name赋值给类中的name属性 System.out.println("this.name is:"+this.name); } public static void main(String[] args)…
在PHP5的面向对象程序设计中提供了一些常见的关键字,用来修饰类.成员属性或成员方法,使他们具有特定的功能,例如final.static.const等关键字.还有一些比较实用的魔术方法,用来提高类或对象的应用能力,例如__call().__toString().__autoload等. 自己对部分关键字的理解: Final:不让儿子继承夫类,也就是说不能够对父类在进行调用,否则将会出错. ①final关键字的应用 final关键字的作用如下:a.实用final标识的类,不能被继承.b.在类中使用…
//类和对象//对象:一切东西都可以看做对象,对象是类的实例化.//类:类是对象的抽象,用来描述众多对象共有的特征. //定义类 class//成员变量 和 成员方法//访问修饰符 public共有的 private 私有的 protected 受保护的//面向对象三大特性://1.封装:目的:保护类,做法:成员私有,方法访问.__get() __set()//构造方法:特殊点:1.写法特殊 2.执行时间特殊:可以实现成员的初始化//$this关键字:$this代表该对象 //2.继承:子类可以…
一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数的所属对象的引用.         简单说,哪个对象调用了this关键字所在的函数,this就代表哪个对象. 1.区别局部变量和成员变量 内存图解: 说明: 程序执行到main函数时,main函数进入栈内存中的方法区,执行到Person p = new Person("旺财");时,在ma…
面向对象: 一.基本概念     类与对象的基本概念:         1.void类型是不需要返回值的,其他类型全部都需要返回值.             public  void  tell(){}             public  int say(){ return 0; }         2.方法的重载,方法名称不同,但是参数的类型和个数不同,通过传递参数的个数和类型不同来完成不同的功能.     类的定义.声明及使用:         1.类名首字母尽量大写:使用new开创内存…
一周Java学习总结 今天就总结理清一下关于面向对象和面向过程的程序设计的一些不同特点,以及讲下static关键字. 面向对象 现在接触的Java是面向对象的,现在的程序开发几乎都是以面向对象为基础的.我现在不看书,光靠回忆去想这个特性的解释性语言,只能想到看书时很深刻的一句话,面向对象就是一个更加具体描述一个事件的一种设计方法,就像在公司里面吃饭,面向对象的话就是一个总负责人即类似大厨准备好菜谱什么的,分工下去给下属,每个人负责一个菜,每个人按照自己的秘方去完成,最后总的做出来形成一桌满汉全席…
this关键字 1.代表当前类的对象 2.在类当中显示的调用本类的构造函数(避免代码的冗余) 语法: ":this" 以下一个参数的构造函数调用了参数最全的构造函数!并赋值了那些不需要的属性! using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _04面向对象练习 { public cla…
1,super关键字 super:父类的意思 1. super.属性名 (调用父类的属性) 2. super.方法名 (调用父类的方法) 3. super([参数列表])(调用父类的构造方法) 注意:a. super关键字使用在子类中 b. 子类继承了父类,则父类中的公有的属性,方法,就是子类的属性和方法.所以在子类中使用super.属性 和super.方法 ,与this.属性 和this.方法,就没有啥区别. c. 子类对象创建时,必须先创建父类对象. 即super() 被系统默认的隐含的添加…
静态成员函数 与静态数据成员一样,我们也可以创建一个静态成员函数,它为类的全部服务而不是某一个类的具体对象服务.静态成员函数与静态数据成员一样,都是类的内部实现,属于类定义的一部分.普通的成员函数一般都隐含一个this指针,this指针指向类的对象本身,因为普通成员函数总是具体的属于某个类的具体对象的.通常情况下,this都是缺省的.如函数fn()实际是this->fn().但是与普通函数相比,静态成员函数由于不是与任何的对象相联系,因此它不具有this指针.从这个意义上讲,它无法访问属于类对象…
静态数据成员: 在类内数据成员的声明前加上关键字static,该数据成员就是类内的静态数据成员.先举一个静态数据成员的例子. #include<iostream> using namespace std; class MyClass { private: int a, b, c; static int sum;//声明静态数据成员 public: MyClass(int a, int b, int c); void GetSum(); } ; //定义并初始化静态数据成员 MyClass::M…
Java中this关键字主要有以下两个方法: 1.this引用 - 可用于任何非static修饰的方法和构造器中,当this用于方法中时,它代表调用该方法的实例/对象;当this用于构造器中时,它代表构造器正在初始化的实例/对象 2.this调用 - 只能在构造器的第一行出现. 如何区分this引用与this调用呢? this引用写法为:this.  ;  而this调用写法为:this(); 例1: class TestThis{ private double weight; private…
转自:http://blog.csdn.net/xiayefanxing/article/details/7382192 http://www.cnblogs.com/SelaSelah/archive/2012/04/09/2438651.html 深入详解 1.静态数据成员 在类内数据成员的声明前加上关键字static,该数据成员就是类内的静态数据成员. 先举一个静态数据成员的例子. //Example 5 #include "stdafx.h" #include <iost…
先说说面向对象思想的一个总体认识 对象通常会有行为,这些行为是靠信息支撑,这些信息包括外部信息和内部信息,对象行为会维护其中的一部分信息 因此对象可以看成是这样一种实体,它获取信息,然后决定自己的行为方式,并主动对全部或部分信息进行维护.此外 对象的定义可以是递归的,即行为可以涉及到若干个更小功能的对象,信息也可以涉及多个更小功能的对象 1.静态数据成员必须初始化 2.只有静态常量整数型成员才可以在类中初始化,即cont static int a;才可以 3.虚函数 virtual void f…
static关键字用处 用于修饰成员变量和成员函数 被修饰后的成员具有以下特点: 随着类的加载而加载 优先于对象存在 被所有对象所共享 可以直接被类名调用 使用注意 静态方法只能访问静态成员:非静态方法也可以访问静态成员 静态方法中不可以写this,super关键字 主函数是静态的 实例变量(成员变量)和类变量(静态变量)的区别 生命周期不同 成员变量随着对象的创建而存在,随着对象的回收而释放: 静态变量随着类的加载而存在随着类的消失而消失 2.   调用方式不同 成员变量只能被对象调用    …
之前我们讲过继承的相关知识了,继承就是子类继承父类的属性和方法并且还可以覆盖父类的方法.但是这样有一个缺陷是什么呢,就是当我们一个类当中涉及一些封装的核心的东西或者对整个系统非常关键的方法或者类的时候,这个时候如果子类覆盖掉父类的方法将会对我们带来安全隐患.为了能够继承父类的方法,同时又能够保证我们类的安全性,这个时候我们就用到了final这个关键字. final关键字之一: final从字面意思上来理解的话,就是最后的意思,也就是说这个方法一经定义之后,就是最后的,不能更改的.当我们用这个关键…
super关键字:解决当子类重写父类对象方法后,子类对象无法访问父类的成员1,调用父类成员变量和方法 super.成员变量 super.成员方法([参数1,参数2.......])Example: //super关键字调用父类成员变量及成员方法 package new_Object; class Animal_03{ String name="动物"; //定义父类shout方法 public void shout(){ System.out.println("super父类…
final关键字:可修饰类.变量名和方法1,final修饰的类不能被继承2,final修饰的变量(成员.局部)是常量,只能赋值一次.3,final修饰的方法不能被子类重写Example:一:修饰类 //final 修饰类 final class Animal{ } //Dog继承Animal类 class Dog extends Animal{} class Example { public static void main(String[] args) { Dog p1=new Dog();…
/* final可以修饰类,方法,变量 特点: final(可以修饰类),该(类)(不能被继承).一旦修饰了一个类,这个类就不能被继承了! final以修饰方法,该方法可以被继承但是不能被重写.(覆盖,复写) final可以修饰变量,该变量可以被继承但是不能被重新赋值.因为这个变量其实是常量. 常量: A:字面值常量 "hello",10,true B:自定义常量 final int x = 10; */ //final class Fu //无法从最终Fu进行继承,final是最终类…
/* static的特点:(它可以修饰成员变量,还可以修饰成员方法) A:随着类的加载而加载 回想main方法. B:优先于对象存在 C:被类的所有对象共享 举例:班级的学生应该共用同一个班级编号. 其实这个特点也是在告诉什么时候使用静态? 如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的. 举例: 饮水机(用静态修饰) 水杯(不能用静态修饰) D:可以通过类名调用 其实它本身也可以通过对象名调用. 推荐使用类名调用. 静态修饰的内容一般我们称其为:与(类相关)的,(类)成员 */…
/* 定义一个学生类: 成员变量:name,age 成员方法:show()方法 在使用这个案例的过程中,发现了一个问题: 通过对象去给成员变量赋值,可以赋值一些非法的数据.例如:name你赋值了一个30整型数据 这是不合理的. 应该是这个样子的:在赋值之前,先对数据进行判断是什么样的类型. 判断到底在哪里做比较合适呢? StudentDemo类是一个测试类,测试类一般(只创建对象,调用方法.) 所以,这个判断应该定义在Student类中完成. 而我们在成员变量的位置可不可以进行数据判断呢? 是不…
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplicationTest { class Program { static void Main(string[] args) { Student s = ,); //父类中的person say hello 没有输出,原因是隐藏了父类的方法 //如果想有意隐藏父类的同名方法 使用关键字n…
PHP5中为解决变量的命名冲突和不确定性问题,引入关键字“$this”代表其所在当前对象. $this在构造函数中指该构造函数所创建的新对象. 在类中使用当前对象的属性和方法,必须使用$this->取值. 方法内的局部变量,不属于对象,不使用$this关键字取值. 局部变量和全局变量与 $this 关键字 使用当前对象的属性必须使用$this关键字. 局部变量的只在当前对象的方法内有效,所以直接使用. 注意:局部变量和属性可以同名,但用法不一样.在使用中,要尽量避免这样使用,以免混淆. <?p…
static关键字的特点 * a:随着类的加载而加载 * b:优先于对象存在 * c:被类的所有对象共享 * 举例:咱们班级的学生应该共用同一个班级编号. * 其实这个特点也是在告诉我们什么时候使用静态? * 如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的. * 举例: * 饮水机(用静态修饰) * 水杯(不能用静态修饰) * 共性用静态,特性用非静态 * d:可以通过类名调用 * 其实它本身也可以通过对象名调用. * 推荐使用类名调用. * 静态修饰的内容一般我们称其为:与类相关…
方法之间调用,可以通过方法名进行调用.但构造方法,无法通过构造方法名来相互调用. 构造方法之间的调用,可以通过this关键字来完成. l  构造方法调用格式: this(参数列表); l  构造方法的调用 class Person { // Person的成员属性 private int age; private String name; // 无参数的构造方法 Person() { } // 给姓名初始化的构造方法 Person(String nm) { name = nm; } // 给姓名…
1.1     final的概念 final是个修饰符,它可以用来修饰类,类的成员,以及局部变量.不能修饰构造方法. 问题: 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,那怎么解决呢? 答: 需要使用到一个关键字final,final的意思为最终,不可变. 1.2     final的特点 1. final修饰类不可以被继承,但是可以继承其…
static 特点 static 是一个修饰符, 用于修饰成员 static 修饰的成员被所有的对象所共享 static 优先于对象存在, 因为 static 的成员随着类的加载就已经存在了 static 修饰的成员多了一种调用方式, 即可以直接被类名所调用, 类名.静态成员 static 修饰的数据是共享数据, 对象中存储的是特有数据. 成员变量(实例变量)与静态变量(类变量) 的区别 两个变量的生命周期不同 成员变量随着对象的创建而存在, 随着对象的被回收而释放 静态变量随着类的加载而存在,…