<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FClass_Definition%2FClass_Fields</id>
		<title>Java Tutorial/Class Definition/Class Fields - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FClass_Definition%2FClass_Fields"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Class_Definition/Class_Fields&amp;action=history"/>
		<updated>2026-04-21T22:39:50Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Class_Definition/Class_Fields&amp;diff=4212&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Class_Definition/Class_Fields&amp;diff=4212&amp;oldid=prev"/>
				<updated>2010-06-01T05:00:46Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:00, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Class_Definition/Class_Fields&amp;diff=4211&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Class_Definition/Class_Fields&amp;diff=4211&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  A Class that Demonstrates Shadowing ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  static int x;&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    x = 5;&lt;br /&gt;
    System.out.println(&amp;quot;x = &amp;quot; + x);&lt;br /&gt;
    int x;&lt;br /&gt;
    x = 10;&lt;br /&gt;
    System.out.println(&amp;quot;x = &amp;quot; + x);&lt;br /&gt;
    System.out.println(&amp;quot;ShadowApp.x = &amp;quot; + ShadowApp.x);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Dynamically changing the behavior of an object via composition (the &amp;quot;State&amp;quot; design pattern) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
abstract class Actor {&lt;br /&gt;
  public abstract void act();&lt;br /&gt;
}&lt;br /&gt;
class HappyActor extends Actor {&lt;br /&gt;
  public void act() {&lt;br /&gt;
    System.out.println(&amp;quot;HappyActor&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class SadActor extends Actor {&lt;br /&gt;
  public void act() {&lt;br /&gt;
    System.out.println(&amp;quot;SadActor&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Stage {&lt;br /&gt;
  private Actor actor = new HappyActor();&lt;br /&gt;
  public void change() {&lt;br /&gt;
    actor = new SadActor();&lt;br /&gt;
  }&lt;br /&gt;
  public void performPlay() {&lt;br /&gt;
    actor.act();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Stage stage = new Stage();&lt;br /&gt;
    stage.performPlay();&lt;br /&gt;
    stage.change();&lt;br /&gt;
    stage.performPlay();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;HappyActor&lt;br /&gt;
SadActor&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Scope class demonstrates field and local variable scopes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class MainClass&lt;br /&gt;
{&lt;br /&gt;
   public static void main( String args[] )&lt;br /&gt;
   {&lt;br /&gt;
      Scope testScope = new Scope();&lt;br /&gt;
      testScope.begin();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
class Scope&lt;br /&gt;
{&lt;br /&gt;
   private int x = 1; &lt;br /&gt;
   public void begin()&lt;br /&gt;
   {&lt;br /&gt;
      int x = 5; // method&amp;quot;s local variable x shadows field x&lt;br /&gt;
      System.out.printf( &amp;quot;local x in method begin is %d\n&amp;quot;, x );&lt;br /&gt;
      useLocalVariable();&lt;br /&gt;
      useField();&lt;br /&gt;
      useLocalVariable();&lt;br /&gt;
      useField();&lt;br /&gt;
      System.out.printf( &amp;quot;\nlocal x in method begin is %d\n&amp;quot;, x );&lt;br /&gt;
   }&lt;br /&gt;
   public void useLocalVariable()&lt;br /&gt;
   {&lt;br /&gt;
      int x = 25; // initialized each time useLocalVariable is called&lt;br /&gt;
      System.out.printf(&amp;quot;\nlocal x on entering method useLocalVariable is %d\n&amp;quot;, x );&lt;br /&gt;
      ++x; // modifies this method&amp;quot;s local variable x&lt;br /&gt;
      System.out.printf( &lt;br /&gt;
         &amp;quot;local x before exiting method useLocalVariable is %d\n&amp;quot;, x );&lt;br /&gt;
   }&lt;br /&gt;
   // modify class Scope&amp;quot;s field x during each call&lt;br /&gt;
   public void useField()&lt;br /&gt;
   {&lt;br /&gt;
      System.out.printf(&amp;quot;\nfield x on entering method useField is %d\n&amp;quot;, x );&lt;br /&gt;
      x *= 10; // modifies class Scope&amp;quot;s field x&lt;br /&gt;
      System.out.printf(&amp;quot;field x before exiting method useField is %d\n&amp;quot;, x );&lt;br /&gt;
   }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;local x in method begin is 5&lt;br /&gt;
local x on entering method useLocalVariable is 25&lt;br /&gt;
local x before exiting method useLocalVariable is 26&lt;br /&gt;
field x on entering method useField is 1&lt;br /&gt;
field x before exiting method useField is 10&lt;br /&gt;
local x on entering method useLocalVariable is 25&lt;br /&gt;
local x before exiting method useLocalVariable is 26&lt;br /&gt;
field x on entering method useField is 10&lt;br /&gt;
field x before exiting method useField is 100&lt;br /&gt;
local x in method begin is 5&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Scope for Class and Local Variables ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  static int x;&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    x = 5;&lt;br /&gt;
    System.out.println(&amp;quot;main: x = &amp;quot; + x);&lt;br /&gt;
    myMethod();&lt;br /&gt;
  }&lt;br /&gt;
  public static void myMethod() {&lt;br /&gt;
    int y;&lt;br /&gt;
    y = 10;&lt;br /&gt;
    if (y == x + 5) {&lt;br /&gt;
      int z;&lt;br /&gt;
      z = 15;&lt;br /&gt;
      System.out.println(&amp;quot;myMethod: z = &amp;quot; + z);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println(&amp;quot;myMethod: x = &amp;quot; + x);&lt;br /&gt;
    System.out.println(&amp;quot;myMethod: y = &amp;quot; + y);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>