对象和类的定义
重载
class father {
public void get() {
System.out.println("father");
}
}
class son extends father {
public void get() {
System.out.println("son");
}
}
class sunzi extends father {
public void get() {
System.out.println("sunzi");
}
}
class cycles {
public void show(father f) {
f.get();
}
}
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
cycles c = new cycles();
father f = new father();
son s = new son();
sunzi su = new sunzi();
c.show(f);
c.show(su);
c.show(s);
}
}
打印的结果是
father
sunzi
son
多态
public class test2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
a am = new a();
a an = new a();
c cm = new c();
d dm = new d();
//am.cc(new a(){
//
//@Override
//public void cc(b bm) {
TODO Auto-generated method stub
//System.out.println("sdjghi");
//
//}
//});
//am.cc(new b(){
//
//public void cc(b bm){
//
//}
//
//@Override
//public void ee() {
TODO Auto-generated method stub
//System.out.println("sdjghi");
//}
//
//});
cm.run(new b(){
@Override
public void cc(b bm) {
// TODO Auto-generated method stub
System.out.println("sdjghi");
}
@Override
public void ee() {
// TODO Auto-generated method stub
System.out.println("sdjghi");
}
});
cm.cc(cm);
}
private static b bm;
public interface b{
void cc(b bm);
void ee();
}
static class a implements b {
//a am = new a();
@Override
public void cc(b bm) {
// TODO Auto-generated method stub
}
@Override
public void ee() {
// TODO Auto-generated method stub
}
}
static class c implements b{
public void run( b bv ){
bm =bv;
bm.ee();
bm.cc(bv);
}
public void play(){
System.out.println("锻炼");
}
@Override
public void cc(b bm) {
// TODO Auto-generated method stub
((c) bm).play();
}
@Override
public void ee() {
// TODO Auto-generated method stub
}
}
static class d {
}
}
打印的结果是
sdjghi
sdjghi
锻炼
常量
public class A {
public static void main(String[] args) {
final int m =1;
A a = new A();
A b = new A();
String c ="abc";
String d ="abc";
final int f =1;
System.out.println(a);
System.out.println("---------"+b);
System.out.println(a==b);
System.out.println(a.equals(b));
System.out.println(c==d);
System.out.println(c.equals(d));
System.out.println(m==f);
System.out.println(m);
}
}
打印的结果是
A@2a139a55
---------A@15db9742
false
false
true
true
true
1
匿名类
类是有class关键字来修饰有名称并有“{}”,例如class A{} ,声明对象 A a = new A(); 匿名类没有名称所以称为匿名类如:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewById(R.id.Button03).setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent(mainActivity.this, fristActivity.class);
intent.putExtra("data", "mainActivity");
startActivity(intent);
}
});
}
new OnClickListener(){
@Override
public void onClick(View v) {
}
}); 这个就是匿名类
原本应该是这样写的(不是匿名类的写法)
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewById(R.id.Button03).setOnClickListener(new A());
}
class A implements View.OnClickListener{
@Override
public void onClick(View v) {
Intent intent = new Intent(mainActivity.this, fristActivity.class);
intent.putExtra("data", "mainActivity");
startActivity(intent);
}
}