Wiki Markup |
---|
h1. What is a class? |
...
In Java, all code is associated with a class. Classes have _fields_ and _methods_. Here is an example of two simple classes: |
...
{section |
:border | false | Column |
---|
Column |
---|
|
|
Code Block |
---|
1 | linenumbers |
---|
title | Cat.java |
---|
|
=false}
{column}{column}
{column:width=500px}
{code:title=Cat.java| linenumbers}
public class Cat{
private int age;
private String name;
public Cat(String name, int age){
this.name = name;
this.age = age;
}
public String getName(){
return name;
}
public String sayHello(){
return "Hello World! My name is " + name
+ " and I am " + age + " years old.";
}
}
Column |
---|
|
Column |
---|
|
Code Block |
---|
|
{code}
{column:width=10px}{column}
{column:width=500px}
{code:title=CatsTheMusical.java}
public class CatsTheMusical{
public static void main(String[] args){
Cat mist = new Cat("Mr. Mistoffelees",8);
System.out.println(mist.sayHello);
}
}
{code}
{column}
Column |
---|
Lets make sure we understand how this works. First, lets talk about the contents of the file Cat.java
.
...
{column}{column}
{section}
Lets make sure we understand how this works. First, lets talk about the contents of the file {{Cat.java}}.
* _Fields_: The class {{Cat}} has two fields, {{name}} and {{age}}. Each field has a _type_, which ensures that we can only store a {{String}} in {{name}} and an {{int}} in age. The word {{private}} before each field indicates that the field can only be accessed from within the class {{Cat}}. In Java, by convention most fields are private, and if you want to be able to access them from outside the class, you add _getter_ and _setter_ methods (we will get to these shortly).
* _Constructors_: The class {{Cat}} has a single constructor {{public Cat(String name, int age){...}}}. Constructors are used to create instances of the class. An example of the invoking the constructor can be seen in {{CatsTheMusical.java |
...
}}.
* _Methods_:
Here, we included a method {{getName()}} in class {{Cat}}. |