I've been asked my current salary by colleagues, friends and relatives. And usually, I don't want to disclose it. I would like to know how I can dodge answering that question.
Do not dodge. The thing about dodging is that while it may keep you from "having to" answer the question this time, it does nothing to stop the question being asked again. You can distract, change the subject, make a face, say something vague, but they'll just ask again anyway the next time the thought pops into their head.
I suggest you choose one or two stock answers. One is for people who are just plain nosy, say your old neighbours who say "you've really moved up in the world haven't you? How much do pilots make these days anyway?". For them, try:
No offense, but I make it a point never to discuss salaries.
(Word that however is natural for you, but it is deliberately a little more formal than normal speech. Don't say "pay"; say "salary" or "compensation".
For people who might actually want to know if your job is something they or their children should consider, one of these:
I can't complain, that's for sure. It's [hard/dangerous/unusual/challenging] work, with a long training period, but you're well rewarded for that.
I suppose it's like any other [office/outdoor/seasonal/skilled] job, it pays what you expect it pays.
I'm sure not in this for the money! We get by, and I love what I do.
Again word these however is natural for you, and use informal words like "pay" and "money."
For a colleague, you need to step really carefully. Nothing good ever comes of open salary discussions at work. (See Should I encourage my coworkers to share their salaries with each other? ) Try:
These conversations never end well, in my experience. I discuss my pay with [our boss] and nobody else. Hope you don't mind that.
After your one sentence, if the person pushes, asks for details etc then whichever answer you gave, try:
Sorry, but that's really all I'm going to say on the subject.
This should stop the repeat askers and save you from having to lie or say anything you don't mean.
The management policy at my previous workplace is that salary matters are a confidential, personal matter and that employees are not to share their salary info with anyone including other employees. In fact, the work contract that they made me sign me included this clause.
I'd use this as a dodge: "Salaries are a confidential matter, which I am not to discuss with anyone. I could tell you, but I'd have to kill you first :)".
The British actor Christopher Lee (of 1960s vampire movies fame) was asked a number of times about his activities as a WWII commando. Each time, he would conspirationally ask the interviewer "Can you keep a secret?" "Yes!", the interviewer would practically shout with excitement. And Christopher Lee would reply with a smile "So can I !" :)
Tell them "I have signed a non-disclosure agreement in the company according to which I am not supposed to disclose my salary", or "I think and feel sad about my salary only on the 1st of every month and I hate to think of it for the rest of the days. Please leave that topic dude!"