栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java小记 类相关

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java小记 类相关

文章目录
      • `Object`常用方法:
      • 抽象类
      • 接口
      • 导入包
      • final 变量、方法
      • 内部类、局部内部类、匿名内部类
      • 静态内部类
      • 内部类继承


Object常用方法:
  • toString() 将一个对象返回为字符串形式
  • getClass()
  • getClass().getname()

重写toString

class A{
	public String(){
		return "Hello!  Class name is: " + getClass().getName() + "  __";
	}
}

class B{
	public static void main(String[] args){
		System.out.print(new A());
	}
}
>> Hello!  Class name is: A    ___

抽象类
  • 关键字 abstract
abstract class A{
	abstract void doit();
}
  • 抽象类除了被继承没有其他意义
  • 抽象方法没有方法体

接口
  • interface ---- 定义接口
  • implements ---- 使用接口
public interface doit{
	public void doo();
	abstract int dodo();
}

public class A implements doit{
	public void doo(){
		// do something
	}
	int dodo(int a){
		return a+12;
	}
}
  • 接口中的方法必须是 public or abstract
  • 接口中的方法都没有方法体
  • 定义的任何字段都自动 static & finall
  • 同一类可以同时使用多个接口
  • 使用接口后必须实现(覆盖)接口的方法
class A extends Jframe implements intf1,intf2{
	...
	...
	...
}


  • package 包名 ---- 定义【必须在第一非注释行】
  • import 包名.类名 ---- 引用
> src
 > one
  > tada
   - lala.java
  - ClassOne.java
 - ClassA.java
 - ClassB.java

ClassOne.java

package one

public class ClassOne{
	...
}

lala.java

package one.tada

public class lala{
	one.ClassOne ooh = new one.ClassOne();   // 划重点
	
	...
}
  • 指定包名后,包名称为类名的一部分
导入包

import

import java.util.*; ---- 引用包中的全部 *
import java.text.DecimalFormat; ---- 单独引用
import one.tada.*;

引用静态成员方法
import static java.lang.System.out;

import static java.lang.System.out;
class A{
	public static void main(String[] args){
		out.println("hello world");
	}
}

final 变量、方法
  • final出现位置
class ClassA{
	final double PI; // 成员变量
	public ClassA(){
		PI = 3.14;  // 可在构造方法赋值
	}
	
	void doit(final int a){ // 参数【不可改变】
		...
	}
	
	void tada(){
		final ONE = 1; //局部变量
	}
}
  • 父类中的final方法,子类只能调用,不能重写。
  • final类不能被继承。

内部类、局部内部类、匿名内部类
  • 内部类
class classA{
	int x=10;
	class classB{
		int x=12;
		void doit(int x){
			int x_ = x++; // 参数 x
			this.x++; // 局部类 x
			classA.this.x--; // 外部类 x
		}
	}

	classB mkclassB(){
		return new classB();
	}
}

class Lala{
	// 实例化 内部类
	classA a = new classA();
	classB b = a.new classB();
	classB bb = a.mkclassB();
}

  • 局部内部类
class classA{
	void doit(final String s){
		class inner{
			int id;
			String str = s;
		}
	}
}
  • 方法外部不能访问该类
  • 如果需要在方法体中使用局部变量,需要设置局部变量为final

  • 匿名内部类
interface itfc{
}

class A{
	public itfc doit(){
		return new itfc(){
			private int id = 12;
			public int GetId(){
				return id;
			}
		}
	}
}

静态内部类
public class A{
	int a = 12;
	static class Inner{
		void doit(){};
	}
}
  • 创建对象时不需要外部类对象。
  • 不能从其对象访问非静态外部类的对象。

: 可以将主方法写进静态内部类。

内部类继承
class A{
	class B{
	}
}

class Test extends A.B{
	public Test(A a){
		a.super();
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/353819.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号