面向对象_static的注意事项

原创 2016年08月28日 21:29:04
/*
static关键字注意事项
A:太静态方法中没有this关键字
如何理解呢?
因为静态是随着类的加载而加载的,this是随着对象的创建而存在的。
静态比对象先存在。
B:静态方法只能访问静态的成员变量和静态成员方法
静态方法:
成员变量:只能访问静态变量
成员方法:只能访问静态成员方法
非静态方法:
成员变量:可以是静态的,也可以是非静态的
成员方法:可以是静态的成员方法,也可以是非静态的成员方法

简单记:
静态只能访问静态
*/
class Teacher{
public int num = 10;
public static int num2 = 20;

public void show(){
System.out.println(num);//隐含的告诉你访问的是成员变量
System.out.println(this.num);//明确的告诉你访问的是成员变量
method();
System.out.println(num2);
System.out.println("------");
}

public static void method(){
//无法从静态上下文中引用非静态 变量 num
//System.out.println(num);
System.out.println(num2);
}
}


class TeacherDemo{
public static void main(String[] args){
//创建对象
Teacher tc = new Teacher();
tc.show();

Teacher.method();
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

关于static,this,对象的关系

对于属性修饰符,它可以是public,protected.private.static,final,其中public.protected.private三个最多只能出现一个,可以与static.fin...
  • u010245483
  • u010245483
  • 2014年03月16日 13:13
  • 1042

【C++面向对象】类的静态成员函数(static member functions)

一、静态成员函数的引入 在引入静态成员函数之前,C++语言要求所有的成员函数都必须经由该类的对象来调用。而实际上,只有当成员函数中有存取非静态数据成员时才需要类对象。类对象提供this指针给...
  • xiajun07061225
  • xiajun07061225
  • 2013年04月10日 15:13
  • 2428

面向对象的static关键字(类中的static关键字)

1、静态数据成员  在类内数据成员的声明前加上关键字static,该数据成员就是类内的静态数据成员。 先举一个静态数据成员的例子。  //Example 5  #include  ...
  • u014066037
  • u014066037
  • 2016年07月04日 14:23
  • 383

对面向对象的理解和this static的理解

对象理解 JAVA语言是直接面向对象的语言,与以往的 当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空间,当超过变量的作用域后(比如,在函数A中调用函数B,在函数B中定义变量a...
  • HUandroid
  • HUandroid
  • 2016年07月12日 10:56
  • 454

static关键字的使用和注意事项

static:★★★ 关键字,是一个修饰符,用于修饰成员(成员变量和成员函数)。 特点: 1,想要实现对象中的共性数据的对象共享。可以将这个数据进行静态修饰。 2,被静态修饰的成员,可以直接...
  • liyunlan33
  • liyunlan33
  • 2014年11月24日 16:24
  • 460

面向对象之封装,继承,多态

Java是一种面向对象的语言,这是大家都知道的,他与那些像c语言等面向过程语言不同的是它本身所具有的面向对象的特性——封装,继承,多态,这也就是传说中的面向对象三大特性...
  • superloveboy
  • superloveboy
  • 2015年01月09日 18:30
  • 1121

C/C++中的static关键字

C++中的static关键字 C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明st...
  • slforeverlove
  • slforeverlove
  • 2015年07月28日 21:36
  • 163

面向对象和基于对象的区别

面向对象大家都很熟悉,可是基于对象就不一定了。两个听起来好象是同一回事,而事实上它们却千差万别。基于对象是指:我们采用对象这一封装技术,将数据和操作捆绑在一起,但是并没有合理的使用多态、继承等面向对象...
  • QQ1449301756
  • QQ1449301756
  • 2015年08月13日 22:07
  • 761

面试百题001——谈谈你对面向对象编程的认识

面向对象程序设计的基本概念:面向对象, 概括地说, 就是把问题抽象为对象, 设置属性(数据) , 指定事件或处理方式(代码) 来达到目的, 强调从问题域的概念到软件程序和界面的直接映射。面向对象程序设...
  • seven_13
  • seven_13
  • 2013年08月29日 15:34
  • 4893

C++中的static关键字 ,外部链接性,内部链接性和无链接性

C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。 一、面向过程设计中的s...
  • Fire_Sky_Ho
  • Fire_Sky_Ho
  • 2017年07月18日 14:13
  • 267
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:面向对象_static的注意事项
举报原因:
原因补充:

(最多只允许输入30个字)